jdk/src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnector.java
--- a/jdk/src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnector.java Thu Feb 09 17:21:47 2017 +0000
+++ b/jdk/src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnector.java Fri Feb 10 09:04:39 2017 +0000
@@ -38,6 +38,7 @@
import java.io.ObjectInputStream;
import java.io.ObjectStreamClass;
import java.io.Serializable;
+import java.lang.module.ModuleDescriptor;
import java.lang.ref.WeakReference;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationHandler;
@@ -107,6 +108,8 @@
import sun.rmi.transport.LiveRef;
import java.io.NotSerializableException;
+import static java.lang.module.ModuleDescriptor.Modifier.SYNTHETIC;
+
/**
* <p>A connection to a remote RMI connector. Usually, such
* connections are made using {@link
@@ -2020,8 +2023,14 @@
Module rmiModule = RemoteRef.class.getModule();
String pkg = packageOf(pRefClassName);
- assert pkg != null && pkg.length() > 0 && !pkg.equals(packageOf(proxyRefCName));
- Module m = Modules.defineModule(cl, "jdk.remoteref", Collections.singleton(pkg));
+ assert pkg != null && pkg.length() > 0 &&
+ !pkg.equals(packageOf(proxyRefCName));
+
+ ModuleDescriptor descriptor =
+ ModuleDescriptor.newModule("jdk.remoteref", Set.of(SYNTHETIC))
+ .packages(Set.of(pkg))
+ .build();
+ Module m = Modules.defineModule(cl, descriptor, null);
// jdk.remoteref needs to read to java.base and jmxModule
Modules.addReads(m, Object.class.getModule());