Serialization issue with KnowledgeDefinitionsPackage again
alivesubstance Dec 28, 2012 6:43 AMHi.
I am trying to deploy jbpm console and human task on Amazon EC. And there are several issue that I didn't catch when do the same step on my local PC.
I build from source jbpm console client, server and human task wars. Changes that I made:
1. Replace persistence properties to work with MySQL.
2. Make sure that drools-*, knowledge-* and jbpm-* jars have the same version in all WARs.
3. Disable to use default evaluation process example.
When I logged on to console using krisv/krisv and click on the Processes tab I got the next error:
java.lang.RuntimeException: KnowledgeAgent exception while trying to deserialize KnowledgeDefinitionsPackage 11:20:44,398 ERROR [stderr] (http--0.0.0.0-8080-6) at org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(KnowledgeAgentImpl.java:796) 11:20:44,409 ERROR [stderr] (http--0.0.0.0-8080-6) at org.drools.agent.impl.KnowledgeAgentImpl.incrementalBuildResources(KnowledgeAgentImpl.java:987) 11:20:44,420 ERROR [stderr] (http--0.0.0.0-8080-6) at org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:686) 11:20:44,575 ERROR [stderr] (http--0.0.0.0-8080-6) at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:207) 11:20:44,586 ERROR [stderr] (http--0.0.0.0-8080-6) at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:186) 11:20:44,596 ERROR [stderr] (http--0.0.0.0-8080-6) at org.jbpm.integration.console.kbase.DefaultKnowledgeBaseManager.buildKnowledgeAgent(DefaultKnowledgeBaseManager.java:157) 11:20:44,611 ERROR [stderr] (http--0.0.0.0-8080-6) at org.jbpm.integration.console.kbase.DefaultKnowledgeBaseManager.syncPackages(DefaultKnowledgeBaseManager.java:122) 11:20:44,623 ERROR [stderr] (http--0.0.0.0-8080-6) at org.jbpm.integration.console.CommandDelegate.getProcesses(CommandDelegate.java:67) 11:20:44,633 ERROR [stderr] (http--0.0.0.0-8080-6) at org.jbpm.integration.console.ProcessManagement.getProcessDefinitions(ProcessManagement.java:42) .... Caused by: java.io.InvalidClassException: org.drools.rule.MVELDialectRuntimeData; local class incompatible: stream classdesc serialVersionUID = -64624826351992706, local class serialVersionUID = -4238880767631114244 ... 11:20:46,834 ERROR [stderr] (http--0.0.0.0-8080-6) at org.drools.core.util.DroolsStreamUtils.streamIn(DroolsStreamUtils.java:205) 11:20:46,843 ERROR [stderr] (http--0.0.0.0-8080-6) at org.drools.core.util.DroolsStreamUtils.streamIn(DroolsStreamUtils.java:189) 11:20:46,853 ERROR [stderr] (http--0.0.0.0-8080-6) at org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(KnowledgeAgentImpl.java:769)
I am looking thru the forum and found a few threads with the problem like this. But I didn't find an answer.
What I miss?
The root cause I think it's with jboss class loaders. Maybe there is way to install drools-core(because it contains MVELDialectRuntimeData) inside a jboss and use it like a "provide" dependency?
Byt the way. Is it necessary that drool-* pakackes will be to one minor version higher that jbpm-*. F.i. if jbpm 5.4.0.Final that drools should be 5.5.0.Final?.