When an object doesnt implement serializable, we grab
it using an xml serialized version. For xstream to be
able to load the class definition the distributed
classloader would need to be used.
org.neo.swarm.interceptor.tcp.RemoteMarshaller
invocation:class
org.neo.swarm.core.network.types.SwarmWireInvocation:
key:container method:findLocal args[compB ]
exception:swarm://neil@laura:8010/swarm#base-realm-fragment
ex:java.io.IOException: Failed to
serialize:testapp.ComponentB@145f5e3
ex:java.io.NotSerializableException: testapp.ComponentB
org.neo.swarm.interceptor.tcp.RemoteMarshaller
invocation:class
org.neo.swarm.core.network.types.SwarmWireInvocation:
key:container method:findLocal args[compB ]
exception:swarm://neil@laura:8010/swarm#base-realm-fragment
ex:java.io.IOException: Failed to
serialize:testapp.ComponentB@145f5e3
ex:java.io.NotSerializableException: testapp.ComponentB
com.thoughtworks.xstream.alias.CannotResolveClassException:
testapp.ComponentB :
testapp.ComponentB:java.lang.NullPointerException
at
com.thoughtworks.xstream.core.DefaultClassMapper.lookupType(Unknown
Source)
at
com.thoughtworks.xstream.core.TreeUnmarshaller.start(Unknown
Source)
at
com.thoughtworks.xstream.core.ReferenceByIdMarshallingStrategy.unmarshal(Unknown
Source)
at com.thoughtworks.xstream.XStream.unmarshal(Unknown
Source)
at com.thoughtworks.xstream.XStream.fromXML(Unknown
Source)
at com.thoughtworks.xstream.XStream.fromXML(Unknown
Source)
at
org.neo.swarm.core.serialize.XMLSerializer.deserialize(XMLSerializer.java:43)
at
org.neo.swarm.core.serialize.CompressedXMLSerializer.deserialize(CompressedXMLSerializer.java:52)
at
org.neo.admin.model.ObjectPackage.getInstance(ObjectPackage.java:38)
at
org.neo.admin.ManagementConsoleFactory.addedManagementTab(ManagementConsoleFactory.java:25)
at
org.neo.admin.SwarmAdminConsole$10.receive(SwarmAdminConsole.java:319)
at org.neo.ebus.GuiEventBus.publish(GuiEventBus.java:29)
at
org.neo.admin.SwarmAdminConsole$9.actionPerformed(SwarmAdminConsole.java:298)
at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at
javax.swing.AbstractButton.doClick(AbstractButton.java:302)
at
javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1000)
at
javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1041)
at
java.awt.Component.processMouseEvent(Component.java:5488)
at
javax.swing.JComponent.processMouseEvent(JComponent.java:3093)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at
java.awt.Component.dispatchEventImpl(Component.java:3955)
at
java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at
java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at
java.awt.Container.dispatchEventImpl(Container.java:2010)