Hello,
I'm trying to use objects that are generated as dynamic proxies (through the
java.lang.reflect.Proxy class) as facts in JBoss Rules 4.0 MR3. My project
was using CGLib to generate proxies, and they were working just fine in
3.0.6. However, when I tried 4.0, the CGLib based proxies seemed to have a
final method that kept the proxies from being proxied as shadow facts. So I
rewrote my code to try to use JDK based proxies, and version 4.0 MR3 accepts
them and apparently creates shadow facts, but now my rules don't fire
correctly.
So, in an attempt to create a simple program to illustrate the problem, I
ran into a different problem. The attached eclipse project illustrates this
problem.
The error is:
java.lang.NullPointerException
at org.drools.reteoo.Rete$ObjectTypeConf.<init>(Rete.java:333)
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.sample.DroolsTest.main(DroolsTest.java:42)
Has anyone successfully used JDK based dynamic proxies as facts?
Thanks,
-Chris West