<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3132" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=450020310-10032008><FONT face=Arial 
color=#0000ff size=2>I'm no expert but recall there can be problems running 
"long running"&nbsp;(subjective) code from AWT's worker 
thread.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=450020310-10032008><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=450020310-10032008><FONT face=Arial 
color=#0000ff size=2>I thought it was good practice to run your "application 
code" in a worker thread. This&nbsp;was the first google hit I had on the 
matter.&nbsp;</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=450020310-10032008><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=450020310-10032008><FONT face=Arial 
color=#0000ff size=2><A 
href="http://www.cs.helsinki.fi/u/vihavain/k03/Java/JavathreadsandGUI.html">http://www.cs.helsinki.fi/u/vihavain/k03/Java/JavathreadsandGUI.html</A></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=450020310-10032008><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=450020310-10032008><FONT face=Arial 
color=#0000ff size=2>Cheers,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=450020310-10032008><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=450020310-10032008><FONT face=Arial 
color=#0000ff size=2>Mike</FONT></SPAN></DIV><BR>
<BLOCKQUOTE style="MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma size=2><B>From:</B> rules-users-bounces@lists.jboss.org 
  [mailto:rules-users-bounces@lists.jboss.org] <B>On Behalf Of </B>Edson 
  Tirelli<BR><B>Sent:</B> 08 March 2008 13:15<BR><B>To:</B> Rules Users 
  List<BR><B>Subject:</B> Re: [rules-users] Interesting null pointer exception 
  when inserting afact.<BR></FONT><BR></DIV>
  <DIV></DIV><BR>&nbsp;&nbsp; Jason,<BR><BR>&nbsp;&nbsp; Can you please isolate 
  and show us the rule that is creating the problem? It is happening either in a 
  eval() statement or in a nested property access.<BR><BR>&nbsp;&nbsp;&nbsp; 
  []s<BR>&nbsp;&nbsp;&nbsp; Edson<BR><BR>
  <DIV><SPAN class=gmail_quote>2008/3/7, Jason Partyka &lt;<A 
  href="mailto:Jason.Partyka@hightowerinc.com">Jason.Partyka@hightowerinc.com</A>&gt;:</SPAN>
  <BLOCKQUOTE class=gmail_quote 
  style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">Hi,<BR><BR>This 
    is in relation to drools 4.0.4<BR><BR>I have an interesting problem. I am 
    getting a null pointer exception when I am inserting a fact into a 
    StatefulSession object. What is odd about this NPE is that, as far as I can 
    tell (and I have inserted a breakpoint right before I insert the fact) that 
    all the properties in the object are initialized, and there are no rules 
    accessing any thing that could be null.<BR><BR>So here's my exception trace 
    (just first few lines to get context):<BR><BR>Exception in thread 
    "AWT-EventQueue-0" org.drools.RuntimeDroolsException: 
    java.lang.NullPointerException<BR>&nbsp;&nbsp;at 
    org.drools.rule.EvalCondition.isAllowed(EvalCondition.java:76)<BR>&nbsp;&nbsp;at 
    org.drools.reteoo.EvalConditionNode.assertTuple(EvalConditionNode.java:145)<BR>&nbsp;&nbsp;at 
    org.drools.reteoo.SingleTupleSinkAdapter.createAndPropagateAssertTuple(SingleTupleSinkAdapter.java:55)<BR>&nbsp;&nbsp;at 
    org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:116)<BR>&nbsp;&nbsp;at 
    org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:22)<BR>&nbsp;&nbsp;at 
    org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:153)<BR>&nbsp;&nbsp;at 
    org.drools.reteoo.Rete.assertObject(Rete.java:177)<BR>&nbsp;&nbsp;at 
    org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:192)<BR>&nbsp;&nbsp;at 
    org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.java:71)<BR>&nbsp;&nbsp;at 
    org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:886)<BR>&nbsp;&nbsp;at 
    org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:858)<BR>&nbsp;&nbsp;at 
    org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:659)<BR>&nbsp;&nbsp;at 
    com.hightower.drools.executablerules.Rules.setTemplate(Rules.java:112)<BR>....<BR>Caused 
    by: java.lang.NullPointerException<BR>&nbsp;&nbsp;at 
    org.drools.base.mvel.MVELEvalExpression.evaluate(MVELEvalExpression.java:39)<BR>&nbsp;&nbsp;at 
    org.drools.rule.EvalCondition.isAllowed(EvalCondition.java:72)<BR>&nbsp;&nbsp;... 
    39 more<BR><BR><BR>(that setTemplate method is not a drools 
    template)<BR><BR>Any 
    ideas?<BR><BR>Thanks,<BR>Jason<BR><BR>_______________________________________________<BR>rules-users 
    mailing list<BR><A 
    href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</A><BR><A 
    href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</A><BR></BLOCKQUOTE></DIV><BR><BR 
  clear=all><BR>-- <BR>&nbsp;&nbsp;Edson Tirelli<BR>&nbsp;&nbsp;JBoss Drools 
  Core Development<BR>&nbsp;&nbsp;Office: +55 11 
  3529-6000<BR>&nbsp;&nbsp;Mobile: +55 11 9287-5646<BR>&nbsp;&nbsp;JBoss, a 
  division of Red Hat @ <A href="http://www.jboss.com">www.jboss.com</A> 
</BLOCKQUOTE></BODY></HTML>