One thing, my subject line was incorrect. I am utilizing XML Beans generated classes and I am getting these errors.
This is something that could be a show stopper for me, so any suggestions out there would be greatly appreciated.
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)