NotSerializableException when transferring state
iungue Aug 1, 2003 5:29 AMI have a cluster with two nodes. They both export a HA-RMI stub:
rmiserver = (HARMIHelloWorld) haRMIServer.createHAStub(new RoundRobin());
haJndiContext.bind("HAHelloWorldServer",rmiserver);
It all works fine (fail over, round robin, etc..) but every time they try to transfer their state one to each other, the following error occurs:
12:25:09,543 ERROR [HipimePartition] GetState failed
java.io.NotSerializableException: org.jboss.ha.framework.server.HAPartitionImpl
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
at java.util.Hashtable.writeObject(Hashtable.java:806)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
at java.util.HashMap.writeObject(HashMap.java:978)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
at org.jboss.ha.framework.server.HAPartitionImpl.objectToByteBuffer(HAPartitionImpl.java:125)
at org.jboss.ha.framework.server.HAPartitionImpl.getState(HAPartitionImpl.java:312)
at org.javagroups.blocks.MessageDispatcher$ProtocolAdapter.passUp(MessageDispatcher.java:460)
at org.javagroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:294)
at org.javagroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:513)
at org.javagroups.JChannel.up(JChannel.java:841)
at org.javagroups.stack.ProtocolStack.up(ProtocolStack.java:302)
at org.javagroups.stack.ProtocolStack.receiveUpEvent(ProtocolStack.java:318)
at org.javagroups.stack.Protocol.passUp(Protocol.java:435)
at org.javagroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:107)
at org.javagroups.stack.UpHandler.run(Protocol.java:55)
The HARMIHelloWorldImpl implements Serializable.
Any idea?
Thanx in advance