|
From: Dan P. E. <dan...@ho...> - 2007-12-18 21:43:16
|
Hi, =20 I built your code, deployed it to Argos and invoked the test method in the = Drools component using Argus. The cause of the error message is: =20 Caused by: java.lang.NoClassDefFoundError: org/drools/base/ShadowProxy at j= ava.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.d= efineClass(Unknown Source) at org.drools.rule.MapBackedClassLoader.fastFind= Class(MapBackedClassLoader.java:60) at org.drools.rule.MapBackedClassLoader= .loadClass(MapBackedClassLoader.java:79) at java.lang.ClassLoader.loadClass= (Unknown Source) at org.drools.reteoo.Rete$ClassObjectTypeConf.loadOrGenera= teProxy(Rete.java:551) at org.drools.reteoo.Rete$ClassObjectTypeConf.define= ShadowProxyData(Rete.java:498) at org.drools.reteoo.Rete$ClassObjectTypeCon= f.<init>(Rete.java:465) at org.drools.reteoo.Rete.assertObject(Rete.java:15= 4) at org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:192= ) at org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.jav= a:71) at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemo= ry.java:886) at org.drools.common.AbstractWorkingMemory.insert(AbstractWork= ingMemory.java:858) at org.drools.common.AbstractWorkingMemory.insert(Abstr= actWorkingMemory.java:659) at argos.bangbang.drools.Drools.insertFact(Unkno= wn Source) at argos.bangbang.drools.Drools.test(Unknown Source) ... 26 more =20 =20 It is a classloading problem, or rather a bug in Argos. Argos does not set = a classloader before invoking methods from JMX. I've entered the bug into o= ur bug tracking system. =20 A workaround to this problem is to insert the following line: Thread.currentThread().setContextClassLoader(Drools.class.getClassLoader())= ; In the method that you are calling from JMX. This will ensure that the corr= ect classloader is used. =20 I will of course fix this bug in the next release of Argos. =20 Dan Date: Tue, 18 Dec 2007 22:37:28 +0100From: taj...@gm...: jargos-d= eve...@li...: [Jargos-developers] Problem med kom= ponent i ArgosHeisann!Jeg har satt opp en komponent med testmetoder.. Hvis = jeg kj=F8rer den for seg selv fra main metoden funket den fint. Men n=E5r j= eg putter den i Argos og kallet test() med Argus, s=E5 f=E5r jeg f=F8lgende= feilmelding: addRuleBase: Unable to load dialect 'org.drools.rule.builder.= dialect.mvel.MVELDialectConfiguration:mvel'[16:07:46] [DynamicProxy] Warnin= g: Unable to invoke test for argos.bangbang.drools.Drools: InvocationTarget= Exception null=D8nsket output er:Hello WorldGoodbye cruel worldJeg har zipp= et prosjektet rett fra Eclipse's workspace.Filen finnes p=E5: http://www.nr= rg.org/Drools.zip Hilsen Tom Arild=20 _________________________________________________________________ Ring venner med PC-til-PC-samtaler - GRATIS http://get.live.com/messenger/overview= |