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.
On 7/5/07, Ronald R. DiFrango <ron.difrango(a)gmail.com> wrote:
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$DetailLineImplShadowProxyoverrides
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)