Hide Forgot
Date of First Response: 2010-03-29 11:17:12 securitylevel_name: Public BRMS 5.0.0 is not compatible with 5.0.1 and 5.0.2. This means, that: - a rule agent running with the engine libs from 5.0.0 cannot grab bits from BRMS 5.0.1 and BRMS 5.0.2 - a rule agent running with the engine libs from 5.0.1 or 5.0.2 cannot grab bits from BRMS 5.0.0
Following exception is thrown when using a BRMS 5.0.2 package with a 5.0.0 Drools Agent: [2010:03:77 12:03:165:debug] KnowledgeAgent rebuilding KnowledgeBase using ChangeSet [2010:03:77 12:03:165:debug] KnowledgeAgent building resource=[UrlResource path='http://10.16.89.4:8080/jboss-brms/org.drools.guvnor.Guvnor/package/mortgages/LATEST'] [2010:03:77 12:03:545:exception] java.lang.RuntimeException: KnowledgeAgent exception while trying to deserialize KnowledgeDefinitionsPackage at org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(KnowledgeAgentImpl.java:417) at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:119) at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:108) at org.jboss.qa.brms.bwdcmp.agent.AgentVerifier.main(AgentVerifier.java:59) 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:585) at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217) at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152) at org.apache.tools.ant.taskdefs.Java.run(Java.java:747) at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:201) at org.apache.tools.ant.taskdefs.Java.execute(Java.java:104) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) 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:585) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:357) at org.apache.tools.ant.Target.performTasks(Target.java:385) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) at org.apache.tools.ant.Project.executeTarget(Project.java:1298) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32) at org.apache.tools.ant.Project.executeTargets(Project.java:1181) at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423) at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137) Caused by: java.lang.NullPointerException at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1820) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at org.drools.rule.DialectRuntimeRegistry.readExternal(DialectRuntimeRegistry.java:41) at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1755) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1717) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at org.drools.rule.Package.readExternal(Package.java:197) at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1755) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1717) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at org.drools.util.DroolsStreamUtils.streamIn(DroolsStreamUtils.java:189) at org.drools.util.DroolsStreamUtils.streamIn(DroolsStreamUtils.java:158) at org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(KnowledgeAgentImpl.java:407) ... 28 more
Documented as a Migration Issue in the 5.0.2 release notes: The serialization of binary resources used in JBoss Enterprise BRMS Platform 5.0.1 and later is not backwards compatible with the 5.0.0 release. This is because of a necessary bug fix that unavoidably changed the structure of the data being serialized. This means that: 1 - Client applications built using the JBoss Rules engine libraries from the 5.0.0 release are unable to use resources being served from a JBoss Enterprise BRMS Platform server of version 5.0.1 or later. 2 - Client applications built using the JBoss Rules engine libraries from the 5.0.1 and later releases are unable to user resources being server from a JBoss Enterprise BRMS Platform 5.0.0 server.
Link: Added: This issue is a dependency of BRMS-297
Same issue exists between 5.1 and 5.0.2.