Hi,
We use drools in our application and store a compiled KnowledgeBase in
cache, all worked fine until we moved into cluster.
The stack trace:
2010-10-31 12:25:35,333 ERROR [] [org.jgroups.blocks.RpcDispatcher]
exception marshalling object
java.lang.ClassCastException:
org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput
cannot be cast to java.io.ObjectInputStream
at
org.drools.common.AbstractRuleBase.readExternal(AbstractRuleBase.java:232)
at
org.drools.reteoo.ReteooRuleBase.readExternal(ReteooRuleBase.java:179)
at
org.drools.impl.KnowledgeBaseImpl.readExternal(KnowledgeBaseImpl.java:87)
at
org.jboss.serial.persister.ExternalizePersister.readData(ExternalizePersister.java:72)
at
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
at
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
at
org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
at
org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:353)
at
org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:273)
at
org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
at
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
at
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
at
org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
at
org.jboss.serial.io.JBossObjectInputStreamSharedTree.readObjectOverride(JBossObjectInputStreamSharedTree.java:61)
at
org.jboss.cache.marshall.JBossObjectStreamFactory$JBossObjectInputStreamOverride.readObjectOverride(JBossObjectStreamFactory.java:33)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:345)
at
org.jboss.cache.marshall.TreeCacheMarshaller140.unmarshallObject(TreeCacheMarshaller140.java:432)
at
org.jboss.cache.marshall.TreeCacheMarshaller140.unmarshallMethodCall(TreeCacheMarshaller140.java:493)
at
org.jboss.cache.marshall.TreeCacheMarshaller140.unmarshallObject(TreeCacheMarshaller140.java:436)
at
org.jboss.cache.marshall.TreeCacheMarshaller140.unmarshallMethodCall(TreeCacheMarshaller140.java:493)
at
org.jboss.cache.marshall.TreeCacheMarshaller140.unmarshallObject(TreeCacheMarshaller140.java:436)
at
org.jboss.cache.marshall.TreeCacheMarshaller140.unmarshallObject(TreeCacheMarshaller140.java:405)
at
org.jboss.cache.marshall.TreeCacheMarshaller140.objectFromStream(TreeCacheMarshaller140.java:126)
at
org.jboss.cache.marshall.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:167)
at org.jgroups.blocks.RpcDispatcher.handle(RpcDispatcher.java:254)
at
org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:654)
at
org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:544)
at
org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:367)
at
org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:777)
at org.jgroups.JChannel.up(JChannel.java:1091)
at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:382)
at
org.jgroups.stack.ProtocolStack.receiveUpEvent(ProtocolStack.java:398)
at org.jgroups.stack.Protocol.passUp(Protocol.java:520)
at
org.jgroups.protocols.pbcast.STREAMING_STATE_TRANSFER.up(STREAMING_STATE_TRANSFER.java:280)
at org.jgroups.stack.UpHandler.run(Protocol.java:60)
any idea?
BR,
Nir
Show replies by date