RFR: 8173607: JMX RMI connector should be in its own module
Daniel Fuchs
daniel.fuchs at oracle.com
Tue Jan 31 18:26:49 UTC 2017
Hi,
Please find below a patch for:
8173607: JMX RMI connector should be in its own module
https://bugs.openjdk.java.net/browse/JDK-8173607
webrev:
http://cr.openjdk.java.net/~dfuchs/webrev_8173607/webrev.05
This patch makes it possible to remove the requires transitive
java.rmi from the java.management module.
For convenience here is the HTML module-level API documentation
produced by javadoc for the new java.management.rmi module:
http://cr.openjdk.java.net/~dfuchs/webrev_8173607/webrev.05/java.management.rmi-summary.html
The patch has some temporary hacks (mainly ConnectorBootstrap.java)
that we will be able to revert when
JDK-8173608 Separate JDK management agent from java.management module
is pushed.
The changes were mainly mechanical except for:
ConnectorBootstrap.java: see above
JMXConnectorFactory.java/JMXConnectorServerFactory.java:
ServiceLoader is now used to load the default RMI Connector provider
as a service. There should however be no observable behavior change
to existing application.
ProxyRef.java, Unmarshal.java: are moved to a new
com.sun.jmx.remote.internal.rmi package in the new module.
ClientNotifForwarder.java: is modified to no longer depend on
java.rmi.UnmarshalException - NotSerializableException is used
instead
RMIConnector.java: fetchNotif is updated to throw
NotSerializableException instead of UnmarshalException
The PRef serialization bytes are updated to accomodate the
new ProxyRef package name.
Some further cleanup of java.base and java.rmi module-info.java
should become possible once JDK-8173608 is in (as well as moving
RMIExporter to java.management.rmi - which is not possible yet).
Further cleanup of @modules in tests might become possible as
well.
Note:
JCK tests for api/javax_management and api/java_lang/management
are passing with this change.
best regards,
-- daniel
More information about the build-dev
mailing list