Quantcast

FireUntilHalt

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

FireUntilHalt

crajor
I have a fairly complicated drools program and I want to introduce temporal reasoning to it.  I spent a bit of time writing some proof-of-concept programs to get the feel of fusion and then tried to slowly introduce things into my original drools program.  When I changed my program from using fireAllRules() to using fireUntilHalt() on a separate thread, I suddenly get failures in my unit tests.  (My first thought was that there was a race condition between my unit tests and the thread calling fireUntilHalt() so I introduced a delay before my unit tests but no luck)  

Here are some of the behaviors I am seeing.

1) I occasionally get nullpointerexception from the thread running fireUntilHalt()
2) My lock-on-active rules aren't firing

I have banged my head on this a while with no success.  (I even tried putting fireAllRules() in a loop because of suggestions I saw but no luck and same behavior).  My questions are, Is there a secret to using fireUntilHalt() that I am not aware of?  Can anybody point me to where I can educate myself on its proper use?

BTW no persistence and no spring in the code at this point.

Thanks, in advance, for any help you can provide.

Craig
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [rules-users] FireUntilHalt

Edson Tirelli-4

   Which Drools version are you using?

   There are no "secrets", but you have to be aware that in this mode rules will fire right away if they can. Also, if you are using 5.4.0.Final, please read another e-mail I sent to the list today, as there was a concurrency bug that was fixed in the 5.4.x branch that could cause NPE.

   Edson

On Wed, Jul 11, 2012 at 10:16 PM, crajor <[hidden email]> wrote:
I have a fairly complicated drools program and I want to introduce temporal
reasoning to it.  I spent a bit of time writing some proof-of-concept
programs to get the feel of fusion and then tried to slowly introduce things
into my original drools program.  When I changed my program from using
fireAllRules() to using fireUntilHalt() on a separate thread, I suddenly get
failures in my unit tests.  (My first thought was that there was a race
condition between my unit tests and the thread calling fireUntilHalt() so I
introduced a delay before my unit tests but no luck)

Here are some of the behaviors I am seeing.

1) I occasionally get nullpointerexception from the thread running
fireUntilHalt()
2) My lock-on-active rules aren't firing

I have banged my head on this a while with no success.  (I even tried
putting fireAllRules() in a loop because of suggestions I saw but no luck
and same behavior).  My questions are, Is there a secret to using
fireUntilHalt() that I am not aware of?  Can anybody point me to where I can
educate myself on its proper use?

BTW no persistence and no spring in the code at this point.

Thanks, in advance, for any help you can provide.

Craig

--
View this message in context: http://drools.46999.n3.nabble.com/FireUntilHalt-tp4018610.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users



--
  Edson Tirelli
  JBoss Drools Core Development
  JBoss by Red Hat @ www.jboss.com

_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [rules-users] FireUntilHalt

crajor
Thanks for your comment, Edson.

I have been using 5.3.0.Final.  I could easily move to 5.4.0.Final but I don't see any of the 5.4.x branches at Maven Central.  Is there another repository that has more up to date releases?

Craig
Loading...