All,
I am using JAXB classes as my model objects that are getting passed into the rules engine. I get the exception below. Here is how I am loading the rules and adding the objects into working memory:
try
{
builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( RtvDecisionEngine.class.getResourceAsStream("rtv.drl" ) ) );
builder.addPackageFromDrl
( new InputStreamReader(
RtvDecisionEngine.class.getResourceAsStream("modelDiscrepancyRules.drl" ) ) );
ruleBase = RuleBaseFactory.newRuleBase();
ruleBase.addPackage
( builder.getPackage() );
}
catch(Exception e)
{
throw new RuntimeException("Failure loading the Rules", e);
}
final StatefulSession session =
ruleBase.newStatefulSession();
DetailLine line = rtvLines[i];
session.insert(line);
Ron
--------------------------------------------------- Exception ---------------------------------------------------
Exception in thread "main" java.lang.VerifyError: class com.circuitcity.rtvcrms.impl.DetailLineDocumentImpl$DetailLineImplShadowProxy overrides final method .
at java.lang.ClassLoader.defineClass1
(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
at org.drools.rule.MapBackedClassLoader.fastFindClass(MapBackedClassLoader.java
:40)
at org.drools.rule.MapBackedClassLoader.loadClass(MapBackedClassLoader.java:59)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at org.drools.reteoo.Rete$ObjectTypeConf.<init>(Rete.java
:352)
at org.drools.reteoo.Rete.assertObject(Rete.java:152)
at org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:190)
at org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.java
:70)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:772)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:584)
at com.circuitcity.rtvcrms.rules.RtvDecisionEngine.processDetailLines
(RtvDecisionEngine.java:95)
at com.circuitcity.rtvcrms.rules.RtvDecisionEngine.executeRules(RtvDecisionEngine.java:64)
at com.circuitcity.rtvcrms.test.MainBasedTester.main(MainBasedTester.java:34)