Get an error in 1.2beta when trying to connect to Sun
JDMK RmiServer on a win2k dev machine. Using jmx1.2
(jmxri.jar, jmxtools.jar), also have jmx1.0 remoteing in
classpath (jmxremote.jar, jmxremote_optional.jar) and
jmx_remoting.jar (part of jdmk that has
RmiConnectorServer). Any idea what's work here?
com.sun.jdmk.comm.CommunicationException:
java.rmi.ServerException: RemoteException occurred in
server thread; nested exception is:
java.rmi.UnmarshalException: error
unmarshalling arguments; nested exception is:
java.io.InvalidClassException:
javax.management.ObjectName; Local class not
compatible: stream classdesc
serialVersionUID=1081892073854801359 local class
serialVersionUID=-5467795090068647408
at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFr
omServer(StreamRemoteCall.java:247)
at
sun.rmi.transport.StreamRemoteCall.executeCall
(StreamRemoteCall.java:223)
at sun.rmi.server.UnicastRef.invoke
(UnicastRef.java:133)
at
com.sun.jdmk.comm.RmiConnectorServerObjectImplV2_St
ub.getAttribute
(RmiConnectorServerObjectImplV2_Stub.java:316)
at
com.sun.jdmk.comm.RmiConnectorClient.connect
(RmiConnectorClient.java:711)
at
org.mc4j.console.connection.JDMKConnectionNode.conne
ct(JDMKConnectionNode.java:72)
at
org.mc4j.console.ConnectAction.performAction
(ConnectAction.java:114)
at
org.openide.util.actions.NodeAction$DelegateAction.actio
nPerformed(NodeAction.java:431)
at org.netbeans.core.ModuleActions$1.run
(ModuleActions.java:97)
at org.openide.util.Task.run(Task.java:136)
at org.openide.util.RequestProcessor$Task.run
(RequestProcessor.java:330)
at
org.openide.util.RequestProcessor$Processor.run
(RequestProcessor.java:677)
Caused by: java.rmi.UnmarshalException: error
unmarshalling arguments; nested exception is:
java.io.InvalidClassException:
javax.management.ObjectName; Local class not
compatible: stream classdesc
serialVersionUID=1081892073854801359 local class
serialVersionUID=-5467795090068647408
[catch]Caused by: java.io.InvalidClassException:
javax.management.ObjectName; Local class not
compatible: stream classdesc
serialVersionUID=1081892073854801359 local class
serialVersionUID=-5467795090068647408
Logged In: YES
user_id=773314
This happens when there are incompatible versions of the JMX
classes on the server and the client. In this case, MC4J
includes sun's jmx 1.1 version.
You may be able to make this work by placing the jdmk jmx
jar into the "lib/ext" directory of mc4j. Then, you would need
to use the "bin/runide.exe" or "bin/runide.sh" scripts, but that
should override the classes included with mc4j.