Hi All,
I think there seams to be a problem with the RuleBaseFactory in Drool 3.0beta 3
The following line of code:
RuleBaseFactory.getInstance().newRuleBase(RuleBase.RETEOO);
or
RuleBaseFactory.getInstance().newRuleBase(); <-- Using Rete by default
fails with this exception
java.lang.IllegalAccessError: tried to access class
org.drools.reteoo.RuleBaseImpl from class org.drools.RuleBaseFactory
at org.drools.RuleBaseFactory.newRuleBase(RuleBaseFactory.java:44)
at au.com.pulse.online.ejb3.logic.LogicFactory.getDrlRuleBase(
LogicFactory.java:71)
at au.com.pulse.online.ejb3.logic.LogicFactory.getWorkingMemory(
LogicFactory.java:51)
at au.com.pulse.online.ejb3.AbstractFacadeBean.prePersist(
AbstractFacadeBean.java:93)
at au.com.pulse.online.ejb3.AbstractFacadeBean.persist(
AbstractFacadeBean.java:164)
at au.com.pulse.online.ejb3.AbstractFacadeBean.create(
AbstractFacadeBean.java:156)
at au.com.pulse.online.ejb3.AbstractFacadeBean.createParent(
AbstractFacadeBean.java:135)
at au.com.pulse.online.ejb3.contact.ContactFacadeBean.create(
ContactFacadeBean.java:70)
at
au.com.pulse.online.validation.test.ContactTest.testValidateFailedAddressDetail
(ContactTest.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(
RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(
RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(
RemoteTestRunner.java:196)
However
if I use
RuleBaseFactory.getInstance().newRuleBase(RuleBase.LEAPS);
it works ok. I can't see anthing in JIRA related to this.