The problem you are facing is that the Drools engine by default is a passive component, meaning that you should tell it when to start executing. For example, you usually want to insert all your data before executing the rules. The same is also valid for timers: they don't just fire. But you can make the engine active by having it execute any action automatically until someone halts the engine using fireUntilHalt(). Note that this uses the calling thread until halt so best to start this in a separate thread, something like this:
new Thread(new Runnable() {
public void run() {
session.fireUntilHalt();
}
}).start();
Kris
----- Original Message -----
From: Cristiano Gavião
To: Rules Users List
Sent: Monday, March 02, 2009 7:50 PM
Subject: Re: [rules-users] Timer isn't firing
It is so strange...
I could run this test with no errors, but I can't get any of my process completed if diagram has a timer...
Ok, I'll sent to you my project.
Thanks
On 02/03/2009, at 11:19, Kris Verlaenen wrote:
Cristiano,
There are some examples on processes using timers here:
http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ProcessTimerTest.java
If you need help, could you maybe send me the test project you are trying to execute, so I can take a look?
Kris
----- Original Message -----
From: Cristiano Gavião
To: Rules Users List
Sent: Monday, March 02, 2009 2:34 AM
Subject: [rules-users] Timer isn't firing
Hi,
I've created a simple process flow with a start node followed by a timer (with delay = 1 and period = 0), an workitem node, and an end node.
Its simple but isn't working properly. The problem is that process isn't getting out from the timer node. Nothing happens...
Its something more needed to get timer working?
This is the output generated:
BEFORE RULEFLOW STARTED process:ProcessoX[id=ProcessoX]
BEFORE RULEFLOW NODE TRIGGERED node:Start[id=20] process:ProcessoX[id=ProcessoX]
null process:ProcessoX[id=ProcessoX]
BEFORE RULEFLOW NODE TRIGGERED node:Timer[id=19] process:ProcessoX[id=ProcessoX]
AFTER RULEFLOW NODE TRIGGERED node:Timer[id=19] process:ProcessoX[id=ProcessoX]
null process:ProcessoX[id=ProcessoX]
AFTER RULEFLOW NODE TRIGGERED node:Start[id=20] process:ProcessoX[id=ProcessoX]
AFTER RULEFLOW STARTED process:ProcessoX[id=ProcessoX]
thanks in advance
_________________________
Cristiano V. Gavião
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
____________________________________
Cristiano Gavião
"O único lugar onde o sucesso vem antes do trabalho é no dicionário." Albert Einstein
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users_______________________________________________
rules-users mailing list
rules-users@lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users