[
https://issues.jboss.org/browse/JBRULES-3102?page=com.atlassian.jira.plug...
]
winton xu updated JBRULES-3102:
-------------------------------
Description:
org.drools.rule.MVELDialectRuntimeData have not serialVersionUID defined
Error:
{noformat}
java.io.InvalidClassException: org.drools.rule.MVELDialectRuntimeData; local class
incompatible: stream classdesc serialVersionUID = 2609855281272796208, local class
serialVersionUID = 5166066541265170937
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) ~[na:1.6.0_20]
at java.util.HashMap.readObject(HashMap.java:1030) ~[na:1.6.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
~[na:1.6.0_20]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
~[na:1.6.0_20]
at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_20]
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) ~[na:1.6.0_20]
at org.drools.rule.DialectRuntimeRegistry.readExternal(DialectRuntimeRegistry.java:59)
~[org.drools.core_5.3.0.SNAPSHOT.jar:5.3.0-SNAPSHOT]
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) ~[na:1.6.0_20]
at org.drools.rule.Package.readExternal(Package.java:191)
~[org.drools.core_5.3.0.SNAPSHOT.jar:5.3.0-SNAPSHOT]
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) ~[na:1.6.0_20]
at java.util.HashMap.readObject(HashMap.java:1030) ~[na:1.6.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
~[na:1.6.0_20]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
~[na:1.6.0_20]
at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_20]
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) ~[na:1.6.0_20]
at org.drools.common.AbstractRuleBase.readExternal(AbstractRuleBase.java:270)
~[org.drools.core_5.3.0.SNAPSHOT.jar:5.3.0-SNAPSHOT]
at org.drools.reteoo.ReteooRuleBase.readExternal(ReteooRuleBase.java:217)
~[org.drools.core_5.3.0.SNAPSHOT.jar:5.3.0-SNAPSHOT]
at org.drools.impl.KnowledgeBaseImpl.readExternal(KnowledgeBaseImpl.java:115)
~[org.drools.core_5.3.0.SNAPSHOT.jar:5.3.0-SNAPSHOT]
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) ~[na:1.6.0_20]
{noformat}
Detail:
we serialize the KnowledgeBase by the following code.
{noformat}
ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(byteStream);
out.writeObject(_kbase);
out.close();
setKnowledgeBaseContents(byteStream.toByteArray());
{noformat}
we deserialize the knowledgebase by the following code.
{noformat}
ByteArrayInputStream bi = new ByteArrayInputStream(info.getData());
ObjectInputStream oi = new ObjectInputStream(bi);
kbase = (KnowledgeBase) oi.readObject();
bi.close();
oi.close();
{noformat}
was:
org.drools.rule.MVELDialectRuntimeData have not serialVersionUID defined
Error:
{noformat}
java.io.InvalidClassException: org.drools.rule.MVELDialectRuntimeData; local class
incompatible: stream classdesc serialVersionUID = 2609855281272796208, local class
serialVersionUID = 5166066541265170937
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) ~[na:1.6.0_20]
at java.util.HashMap.readObject(HashMap.java:1030) ~[na:1.6.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
~[na:1.6.0_20]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
~[na:1.6.0_20]
at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_20]
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) ~[na:1.6.0_20]
at org.drools.rule.DialectRuntimeRegistry.readExternal(DialectRuntimeRegistry.java:59)
~[org.drools.core_5.3.0.SNAPSHOT.jar:5.3.0-SNAPSHOT]
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) ~[na:1.6.0_20]
at org.drools.rule.Package.readExternal(Package.java:191)
~[org.drools.core_5.3.0.SNAPSHOT.jar:5.3.0-SNAPSHOT]
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) ~[na:1.6.0_20]
at java.util.HashMap.readObject(HashMap.java:1030) ~[na:1.6.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
~[na:1.6.0_20]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
~[na:1.6.0_20]
at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_20]
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) ~[na:1.6.0_20]
at org.drools.common.AbstractRuleBase.readExternal(AbstractRuleBase.java:270)
~[org.drools.core_5.3.0.SNAPSHOT.jar:5.3.0-SNAPSHOT]
at org.drools.reteoo.ReteooRuleBase.readExternal(ReteooRuleBase.java:217)
~[org.drools.core_5.3.0.SNAPSHOT.jar:5.3.0-SNAPSHOT]
at org.drools.impl.KnowledgeBaseImpl.readExternal(KnowledgeBaseImpl.java:115)
~[org.drools.core_5.3.0.SNAPSHOT.jar:5.3.0-SNAPSHOT]
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) ~[na:1.6.0_20]
{noformat}
InvalidClassException while deserialize knowledgeBase
-----------------------------------------------------
Key: JBRULES-3102
URL:
https://issues.jboss.org/browse/JBRULES-3102
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: drools-core
Reporter: winton xu
Assignee: Mark Proctor
Priority: Critical
org.drools.rule.MVELDialectRuntimeData have not serialVersionUID defined
Error:
{noformat}
java.io.InvalidClassException: org.drools.rule.MVELDialectRuntimeData; local class
incompatible: stream classdesc serialVersionUID = 2609855281272796208, local class
serialVersionUID = 5166066541265170937
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) ~[na:1.6.0_20]
at java.util.HashMap.readObject(HashMap.java:1030) ~[na:1.6.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
~[na:1.6.0_20]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
~[na:1.6.0_20]
at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_20]
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) ~[na:1.6.0_20]
at org.drools.rule.DialectRuntimeRegistry.readExternal(DialectRuntimeRegistry.java:59)
~[org.drools.core_5.3.0.SNAPSHOT.jar:5.3.0-SNAPSHOT]
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) ~[na:1.6.0_20]
at org.drools.rule.Package.readExternal(Package.java:191)
~[org.drools.core_5.3.0.SNAPSHOT.jar:5.3.0-SNAPSHOT]
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) ~[na:1.6.0_20]
at java.util.HashMap.readObject(HashMap.java:1030) ~[na:1.6.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
~[na:1.6.0_20]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
~[na:1.6.0_20]
at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_20]
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) ~[na:1.6.0_20]
at org.drools.common.AbstractRuleBase.readExternal(AbstractRuleBase.java:270)
~[org.drools.core_5.3.0.SNAPSHOT.jar:5.3.0-SNAPSHOT]
at org.drools.reteoo.ReteooRuleBase.readExternal(ReteooRuleBase.java:217)
~[org.drools.core_5.3.0.SNAPSHOT.jar:5.3.0-SNAPSHOT]
at org.drools.impl.KnowledgeBaseImpl.readExternal(KnowledgeBaseImpl.java:115)
~[org.drools.core_5.3.0.SNAPSHOT.jar:5.3.0-SNAPSHOT]
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) ~[na:1.6.0_20]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) ~[na:1.6.0_20]
{noformat}
Detail:
we serialize the KnowledgeBase by the following code.
{noformat}
ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(byteStream);
out.writeObject(_kbase);
out.close();
setKnowledgeBaseContents(byteStream.toByteArray());
{noformat}
we deserialize the knowledgebase by the following code.
{noformat}
ByteArrayInputStream bi = new ByteArrayInputStream(info.getData());
ObjectInputStream oi = new ObjectInputStream(bi);
kbase = (KnowledgeBase) oi.readObject();
bi.close();
oi.close();
{noformat}
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira