OpenJDK / amber / amber
changeset 31705:6fbc92f64425
8075853: Proxy for MBean proxies
Reviewed-by: dfuchs, ahgross, bmoloden
author | sjiang |
---|---|
date | Wed, 15 Apr 2015 11:16:25 +0200 |
parents | 4727673aaa92 |
children | 895170f33881 |
files | jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java |
diffstat | 1 files changed, 19 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java Sat Apr 11 18:04:10 2015 +0100 +++ b/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java Wed Apr 15 11:16:25 2015 +0200 @@ -32,7 +32,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; @@ -46,7 +45,6 @@ import javax.management.*; import javax.management.remote.JMXServerErrorException; import javax.management.remote.NotificationResult; -import javax.management.remote.TargetedNotification; import javax.security.auth.Subject; import sun.reflect.misc.ReflectUtil; @@ -59,6 +57,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; /** * <p>Implementation of the {@link RMIConnection} interface. User @@ -131,20 +130,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")) - ); - + 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(