What do you mean by "facts in other plugins"?
If your facts are loaded by a different classloader hierarchy, you need
to set the facts classloader in:
PackageBuilderConfiguration.setClassLoader(); // to compile the rules
RulebaseConfiguration.setClassLoader(); // to create the rulebase and run it
[]s
Edson
2008/12/2 keithnielsen <keithnielsen(a)discover.com>
Further testing shows that while the rules engine can locate facts from
other
plug-ins (facts located in the same plugin as the rules engine work fine,
but not realistic to expect that all facts will be co-located in the same
plugin), an attempt to reconstitute them using the ByteArrayClassloader
will
not work. Has anyone been successful using facts located in other plug-ins?
I am using Drools 5.M2 with Eclipse 3.4.
keithnielsen wrote:
>
> I have the following rule:
>
> rule "Retrieve CID Presentation Model"
> ruleflow-group "RetrieveCID"
>
> when
>
>
CIDPresentationModel($cidValue:cidValue,$cidExpirationDate:expirationDate)
> then
> boolean cidResult =
> cidService.verifyCIDIsValid($cidValue,$cidExpirationDate);
> CIDResult result = new CIDResult(cidResult);
> insert(result);
> System.out.println("Executing: Retrieve CID Presentation
Model");
> end
>
> Deep in the bowels of drools there is a call to
> ClassFieldAccessorFactory.getClassFieldReader where it attempts to create
> a class using the byte array classloader, i.e. final Class<?> newClass =
> byteArrayClassLoader.defineClass(className, bytes,PROTECTION_DOMAIN). Its
> at this point that a NoClassDefFoundError on the
> BaseObjectClassFieldReader. From what I understand of
NoClassDefFoundError
> it can result when there are two sources of the same class in the
> classpath or if there is some reference from the class resulting in the
> error to another class that can not be resolved. It only appears in
> situations where there is fields involved. It doesnt seem to matter how
> simple the object is, the minute I try to use field assignment it throws
> an error.
>
> The rules engine is running as an Eclipse plug-in.
>
--
View this message in context:
http://www.nabble.com/NoClassDefFoundError%3A-BaseObjectClassFieldReader-...
Sent from the drools - user mailing list archive at
Nabble.com.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Edson Tirelli
JBoss Drools Core Development
JBoss, a division of Red Hat @
www.jboss.com