Mercurial > hg > release > icedtea7-forest-2.5 > jdk
changeset 8238:c49082e34ada
8075853: Proxy for MBean proxies
Reviewed-by: dfuchs, ahgross, bmoloden
author | sjiang |
---|---|
date | Mon, 06 Jul 2015 19:54:15 +0100 |
parents | a8c6f2bc8e24 |
children | 51dc195935a6 |
files | src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java |
diffstat | 1 files changed, 19 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java Wed Apr 22 23:29:47 2015 +0300 +++ b/src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java Mon Jul 06 19:54:15 2015 +0100 @@ -34,6 +34,7 @@ import com.sun.jmx.remote.util.ClassLogger; import com.sun.jmx.remote.util.EnvHelp; import com.sun.jmx.remote.util.OrderClassLoaders; +import javax.management.loading.ClassLoaderRepository; import java.io.IOException; import java.rmi.MarshalledObject; @@ -43,7 +44,6 @@ import java.security.AccessControlContext; import java.security.AccessController; import java.security.Permission; -import java.security.PermissionCollection; import java.security.Permissions; import java.security.PrivilegedAction; import java.security.PrivilegedActionException; @@ -152,20 +152,24 @@ final ClassLoader dcl = defaultClassLoader; - this.classLoaderWithRepository = - AccessController.doPrivileged( - new PrivilegedAction<ClassLoaderWithRepository>() { - public ClassLoaderWithRepository run() { - return new ClassLoaderWithRepository( - mbeanServer.getClassLoaderRepository(), - dcl); - } - }, - - withPermissions( new MBeanPermission("*", "getClassLoaderRepository"), - new RuntimePermission("createClassLoader")) - ); - + final ClassLoaderRepository repository = AccessController.doPrivileged( + new PrivilegedAction<ClassLoaderRepository>() { + public ClassLoaderRepository run() { + return mbeanServer.getClassLoaderRepository(); + } + }, + withPermissions(new MBeanPermission("*", "getClassLoaderRepository")) + ); + this.classLoaderWithRepository = AccessController.doPrivileged( + new PrivilegedAction<ClassLoaderWithRepository>() { + public ClassLoaderWithRepository run() { + return new ClassLoaderWithRepository( + repository, + dcl); + } + }, + withPermissions(new RuntimePermission("createClassLoader")) + ); this.defaultContextClassLoader = AccessController.doPrivileged(