I've got an serialization exception when my object is replicated in the cluster.
This exception only occurs when replication is called after a put in the cache. For example, if I start the second cache afer the first cache in cluster has been initialized, everything is well replicated at startup without any exceptions.
I try to serialize my object with java standard serialization and it's working.
I make sure that the object contains only serializable object.
I use JBoss server 4.0.5 and JBoss Cache 1.4.0SP1.
Does anyone know why this type of exception is raised or know how to fix it ?
Exception during replication :
On the server which received the object :
08:32:20,142 INFO [VersionAwareMarshaller] Caught exception unmarshalling stream with specific versioned marshaller class org.jboss.cache.marshall.Tr eeCacheMarshaller140. Attempting to try again with legacy marshaller class org.jboss.cache.marshall.LegacyTreeCacheMarshaller 08:32:20,147 ERROR [RpcDispatcher] exception=java.io.StreamCorruptedException: invalid stream header
On the server which send the object
08:32:20,172 INFO [TxInterceptor] There was a problem handling this request java.io.StreamCorruptedException: invalid stream header at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:753) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:268) at org.jboss.invocation.MarshalledValueInputStream.<init>(MarshalledValueInputStream.java:74) at org.jboss.cache.marshall.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:184) at org.jgroups.blocks.RpcDispatcher.handle(RpcDispatcher.java:203) at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:615) at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:512) at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:326) at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.handleUp(MessageDispatcher.java:722) at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.access$300(MessageDispatcher.java:554) at org.jgroups.blocks.MessageDispatcher$1.run(MessageDispatcher.java:691) at java.lang.Thread.run(Thread.java:595)