OK, I just solved my own problem.&nbsp; My proxy had no package, since the jdk based proxy is only in a package if it has at least 1 non public interface, according to the javadoc.<br><br>The suspect code beginning on line 333 is:
<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String pkgName = cls.getPackage().getName();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( &quot;org.drools.reteoo&quot;.equals( pkgName ) || &quot;org.drools.base&quot;.equals( pkgName ) ) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // We don&#39;t shadow internal classes
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.shadowEnabled = false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br>The getPackage() method returns null.&nbsp; In this case, it would be good if JBoss Rules handled the null and went on to shadow the object anyway, since it is obviously not in the 
org.drools packages.<br><br>Now I&#39;ll continue trying to build a test case for my original problem.<br><br>Shall I enter a JIRA for this issue?<br><br>Thanks,<br>-Chris West<br><br><div><span class="gmail_quote">On 7/12/07, 
<b class="gmail_sendername">Chris West</b> &lt;<a href="mailto:crayzfishr@gmail.com">crayzfishr@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello,<br><br>I&#39;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.&nbsp; My project was using CGLib to generate proxies, and they were working just fine in 
3.0.6.&nbsp; 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.&nbsp; 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&#39;t fire correctly.
<br><br>So, in an attempt to create a simple program to illustrate the problem, I ran into a different problem.&nbsp; The attached eclipse project illustrates this problem.<br><br>The error is:<br><br>java.lang.NullPointerException

<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.Rete$ObjectTypeConf.&lt;init&gt;(Rete.java:333)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.Rete.assertObject(Rete.java:152)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:190)<br>

&nbsp;&nbsp;&nbsp; at org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.java:70)<br>&nbsp;&nbsp;&nbsp; at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:772)<br>&nbsp;&nbsp;&nbsp; at org.drools.common.AbstractWorkingMemory.insert

(AbstractWorkingMemory.java:584)<br>&nbsp;&nbsp;&nbsp; at com.sample.DroolsTest.main(DroolsTest.java:42)<br><br>Has anyone successfully used JDK based dynamic proxies as facts?<br><br>Thanks,<br><span class="sg">-Chris West<br>
</span><br clear="all"></blockquote></div><br>