SourceForge has been redesigned. Learn more.
Close

#15 connect to server failed

open-fixed
nobody
5
2013-04-16
2013-03-29
Anonymous
No

client configure file:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
- <oddjob id="this">
- <job>
- <sequential name="DB Virtualization">
- <jobs>
- <folder name="Host Management">
- <jobs>
<jmx:client id="source" name="Source Host" connection="192.168.56.188/source" xmlns:jmx="http://rgordon.co.uk/oddjob/jmx" />
<jmx:client id="target" name="Target Host" connection="192.168.56.189/target" xmlns:jmx="http://rgordon.co.uk/oddjob/jmx" />
<jmx:client id="storage" name="Storage Server" connection="192.168.56.190/storage" xmlns:jmx="http://rgordon.co.uk/oddjob/jmx" />
</jobs>
</folder>
</jobs>
</sequential>
</job>
</oddjob>

source and target run on oracle linux, and sotrage run on openindian, try to connect storage got failed:
28-三月-13 18:33:23: Connecting to [192.168.56.190/storage] ...
28-三月-13 18:33:23: Exception starting:
java.lang.reflect.UndeclaredThrowableException
at org.oddjob.jmx.handlers.IconicHandlerFactory$ClientIconicHandler.iconForId(IconicHandlerFactory.java:155)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.oddjob.jmx.client.ClientInterfaceManagerFactory$1.invoke(ClientInterfaceManagerFactory.java:86)
at org.oddjob.jmx.client.ClientNode.invoke(ClientNode.java:122)
at $Proxy10.iconForId(Unknown Source)
at org.oddjob.monitor.model.JobTreeNode$OurIconListener.iconEvent(JobTreeNode.java:331)
at org.oddjob.jmx.handlers.IconicHandlerFactory$ClientIconicHandler.addIconListener(IconicHandlerFactory.java:200)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.oddjob.jmx.client.ClientInterfaceManagerFactory$1.invoke(ClientInterfaceManagerFactory.java:86)
at org.oddjob.jmx.client.ClientNode.invoke(ClientNode.java:122)
at $Proxy10.addIconListener(Unknown Source)
at org.oddjob.monitor.model.JobTreeNode$OurIconListener.listen(JobTreeNode.java:322)
at org.oddjob.monitor.model.JobTreeNode.setVisible(JobTreeNode.java:191)
at org.oddjob.monitor.model.JobTreeNode$1.childAdded(JobTreeNode.java:84)
at org.oddjob.structural.ChildHelper.notifyChildAdded(ChildHelper.java:429)
at org.oddjob.structural.ChildHelper.insertChild(ChildHelper.java:68)
at org.oddjob.jmx.client.ServerView$1.childAdded(ServerView.java:37)
at org.oddjob.structural.ChildHelper$ChildAdded.dispatch(ChildHelper.java:398)
at org.oddjob.structural.ChildHelper.addStructuralListener(ChildHelper.java:336)
at org.oddjob.jmx.handlers.StructuralHandlerFactory$ClientStructuralHandler.addStructuralListener(StructuralHandlerFactory.java:173)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.oddjob.jmx.client.ClientInterfaceManagerFactory$1.invoke(ClientInterfaceManagerFactory.java:86)
at org.oddjob.jmx.client.ClientNode.invoke(ClientNode.java:122)
at $Proxy20.addStructuralListener(Unknown Source)
at org.oddjob.jmx.client.ServerView.startStructural(ServerView.java:35)
at org.oddjob.jmx.JMXClientJob.doStart(JMXClientJob.java:250)
at org.oddjob.jmx.ClientBase.onStart(ClientBase.java:204)
at org.oddjob.jmx.ClientBase.run(ClientBase.java:158)
at org.oddjob.util.SimpleThreadManager$1.run(SimpleThreadManager.java:57)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
java.io.InvalidClassException: javax.swing.ImageIcon; local class incompatible: stream classdesc serialVersionUID = -962022720109015502, local class serialVersionUID = 532615968316031794
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
at javax.management.remote.rmi.RMIConnectionImpl_Stub.invoke(Unknown Source)
at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.invoke(Unknown Source)
at org.oddjob.jmx.client.ClientSideToolkitImpl.invoke(ClientSideToolkitImpl.java:62)
at org.oddjob.jmx.handlers.IconicHandlerFactory$ClientIconicHandler.iconForId(IconicHandlerFactory.java:150)
... 43 more
Caused by: java.io.InvalidClassException: javax.swing.ImageIcon; local class incompatible: stream classdesc serialVersionUID = -962022720109015502, local class serialVersionUID = 532615968316031794
at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at sun.rmi.server.UnicastRef.unmarshalValue(Unknown Source)
... 49 more

storage configure file:

<?xml version="1.0"?>
<!-- RMI server example -->
<oddjob id="oddjob">
<job>
<!-- =============================================
The start up in parallel.
============================================== -->
<sequential name="main" id="root">
<jobs>

<!-- =============================================
The RMI registry.
============================================== -->
<rmireg name="RMI Registry" id="rmireg"/>

<!-- =============================================
The server exposes this folder.
============================================== -->
<folder name="Source process" id="server-processes">
<jobs>

<!-- =============================================
A nested which runs all the examples again!
============================================== -->
<oddjob name="Source Scripts" id="workflow-oddjob"
file="/home/sam/OraEx/storage/storage.xml">
</oddjob>

<!-- =============================================
This job can be run by a client to stop the server.
It triggers the scheduler.
============================================== -->
<stop name="Shutdown server"
job="${server}"/>

</jobs>
</folder>

<!-- =============================================
The server.
============================================== -->
<jmx:server xmlns:jmx="http://rgordon.co.uk/oddjob/jmx"
name="Oddjob Server" id="server"
url="service:jmx:rmi://ignored/jndi/rmi://localhost/storage"
root="${server-processes}"/>

</jobs>
</sequential>
</job>
</oddjob>

and /etc/hosts:

#
# Internet host table
#
::1 openid openid.local localhost loghost
127.0.0.1 openid openid.local localhost loghost
192.168.56.190 openid openid.local

please help

Discussion

  • Rob Gordon

    Rob Gordon - 2013-04-16
    • status: open --> open-fixed
     
  • Rob Gordon

    Rob Gordon - 2013-04-16

    This is caused because you are running different versions of Java on the client and server and the serialisation id of ImageIcon changed in 1.6u26. This has been fixed in Oddjob 1.3 by using a workaround that does it's own serialisation of ImageIcon. A snapshot is available in the snapshots directory. Oddjob 1.3 should be released in a few weeks.