Are you sure that the binary package was also created with the same drools
version you are using in your tests?
Best Regards,
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Esteban Aliverti
- Developer @
http://www.plugtree.com
- Blog @
http://ilesteban.wordpress.com
On Wed, Feb 22, 2012 at 7:39 PM, Hrumph <Herman.Post(a)imail.org> wrote:
I have a 5.4.0-SNAPSHOT version with your changes built and made the
KnowledgeAgentConfiguration change you suggested. My test code is now like
this:****
** **
KnowledgeAgentConfiguration aconf =
KnowledgeAgentFactory.newKnowledgeAgentConfiguration();****
aconf.setProperty("drools.agent.useKBaseClassLoaderForCompiling",
"true"); // new****
// KnowledgeAgent kagent =
KnowledgeAgentFactory.newKnowledgeAgent("test", kbase, aconf,
kbuilderConfig);****
KnowledgeAgent kagent =
KnowledgeAgentFactory.newKnowledgeAgent("test", kbase, aconf); // not
passing kBuilderConfig****
** **
My project is attached – let me know if it doesn’t upload.****
** **
I can see I’m stepping threw your new code, and I’m now getting a new
error, below.****
** **
I can also tell you that we tried to just use the KnowledgeBuilder with
custom classloader as in the Expert documentation (4.1.1) and could not get
that to work either. Stack trace follows:****
** **
java.lang.RuntimeException: KnowledgeAgent exception while trying to
deserialize KnowledgeDefinitionsPackage ****
at
org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(KnowledgeAgentImpl.java:770)
****
at
org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:1029)
****
at
org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(KnowledgeAgentImpl.java:812)
****
at
org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:671)
****
at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:202)
****
at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:181)
****
at
drools.cookbook.chapter02.KnowledgeAgentClassloaderTest.createKnowledgeBase(KnowledgeAgentClassloaderTest.java:62)
****
at
drools.cookbook.chapter02.KnowledgeAgentClassloaderTest.customClassloaderTest(KnowledgeAgentClassloaderTest.java:30)
****
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)****
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
****
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
****
at java.lang.reflect.Method.invoke(Method.java:601)****
at
org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59)****
at
org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98)
****
at
org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79)****
at
org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87)
****
at
org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)****
at
org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)****
at
org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)
****
at
org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
****
at
org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
****
at
org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
****
at
org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)**
**
at
org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
****
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
****
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
****
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
****
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
****
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
****
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
****
Caused by: java.io.OptionalDataException****
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1367)****
at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)****
at org.drools.rule.Pattern.readExternal(Pattern.java:118)*
***
at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)***
*
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)*
***
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)****
at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)****
at java.util.ArrayList.readObject(ArrayList.java:733)****
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)****
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
****
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
****
at java.lang.reflect.Method.invoke(Method.java:601)****
at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:991)****
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)****
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)*
***
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)****
at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)****
at
org.drools.rule.GroupElement.readExternal(GroupElement.java:63)****
at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)***
*
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)*
***
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)****
at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)****
at org.drools.rule.Rule.readExternal(Rule.java:180)****
at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)***
*
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)*
***
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)****
at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)****
at
java.util.IdentityHashMap.readObject(IdentityHashMap.java:1216)****
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)****
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
****
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
****
at java.lang.reflect.Method.invoke(Method.java:601)****
at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:991)****
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)****
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)*
***
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)****
at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)****
at
org.drools.rule.MVELDialectRuntimeData.readExternal(MVELDialectRuntimeData.java:92)
****
at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)***
*
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)*
***
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)****
at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)****
at java.util.HashMap.readObject(HashMap.java:1043)****
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)****
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
****
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
****
at java.lang.reflect.Method.invoke(Method.java:601)****
at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:991)****
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)****
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)*
***
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)****
at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)****
at
org.drools.rule.DialectRuntimeRegistry.readExternal(DialectRuntimeRegistry.java:59)
****
at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)***
*
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)*
***
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)****
at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)****
at org.drools.rule.Package.readExternal(Package.java:205)*
***
at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)***
*
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)*
***
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)****
at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)****
at
org.drools.core.util.DroolsStreamUtils.streamIn(DroolsStreamUtils.java:205)
****
at
org.drools.core.util.DroolsStreamUtils.streamIn(DroolsStreamUtils.java:189)
****
at
org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(KnowledgeAgentImpl.java:756)
****
... 29 more****
** **
Thanks,****
** **
Herm****
*knowledge-agent-classloader-5.4.zip* (53K) Download
Attachment<http://attachment/3767414/0/knowledge-agent-classloader-5.4.zip>
------------------------------
View this message in context: RE: [rules-users] KnowledgeAgent custom
class loader not working for PKG
resources<http://drools.46999.n3.nabble.com/KnowledgeAgent-custom-clas...
Sent from the Drools: User forum mailing list
archive<http://drools.46999.n3.nabble.com/Drools-User-forum-f47000.htm...
Nabble.com.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users