I'm no expert but recall there can be problems running
"long running" (subjective) code from AWT's worker
thread.
I thought it was good practice to run your "application
code" in a worker thread. This was the first google hit I had on the
matter.
Cheers,
Mike
Jason,
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.
[]s
Edson
2008/3/7, Jason Partyka <Jason.Partyka@hightowerinc.com>:
Hi,
This
is in relation to drools 4.0.4
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.
So here's my exception trace
(just first few lines to get context):
Exception in thread
"AWT-EventQueue-0" org.drools.RuntimeDroolsException:
java.lang.NullPointerException
at
org.drools.rule.EvalCondition.isAllowed(EvalCondition.java:76)
at
org.drools.reteoo.EvalConditionNode.assertTuple(EvalConditionNode.java:145)
at
org.drools.reteoo.SingleTupleSinkAdapter.createAndPropagateAssertTuple(SingleTupleSinkAdapter.java:55)
at
org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:116)
at
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:22)
at
org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:153)
at
org.drools.reteoo.Rete.assertObject(Rete.java:177)
at
org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:192)
at
org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.java:71)
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:886)
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:858)
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:659)
at
com.hightower.drools.executablerules.Rules.setTemplate(Rules.java:112)
....
Caused
by: java.lang.NullPointerException
at
org.drools.base.mvel.MVELEvalExpression.evaluate(MVELEvalExpression.java:39)
at
org.drools.rule.EvalCondition.isAllowed(EvalCondition.java:72)
...
39 more
(that setTemplate method is not a drools
template)
Any
ideas?
Thanks,
Jason
_______________________________________________
rules-users
mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Edson Tirelli
JBoss Drools
Core Development
Office: +55 11
3529-6000
Mobile: +55 11 9287-5646
JBoss, a
division of Red Hat @ www.jboss.com