As you know, we need to do some re-organization of code in preparation for the jdk build generating modules. One dependency that I would like to separate out is the dependency on RMI-IIOP and CORBA in the JSR-160 implementation. The motivation is a possible "management" module that wouldn't require "corba" to be installed. The webrev with the proposed changes is here:
 http://cr.openjdk.java.net/~alanb/6888179/webrev.00/

In summary, the RMI connectors are changed to use a helper class for RMI-IIOP and CORBA. The methods defined by the helper class have all CORBA types erased and they simply delegate to a proxy which has an implementation in the com.sun.jmx.remote.protocol.iiop package that is either present or not present. When not present then methods requiring the transport fail gracefully indicating that the iiop protocol is not supported.

I ran into two issues that I should point:

1. The bytecode for ProxyStub._releaseReply in RMIConnector didn't match the source in the comments. The actual code has a null check that was missing from the source. I've updated this for any future maintainers.

2. RMIConnector.findRMIServerJRMP used PortableRemoteObject.narrow to check the stub type, which I'm sure was an oversight.

I've run all the tests in test/javax/management/remote (good test coverage btw) and don't see any regressions.

Éamonn, Daniel - would you have cycles to review?

-Alan.

Reply via email to