Could you maybe send me your project so I could take a look myself and debug to find out what's going on?
Kris Quoting Femke De Backere <[email protected]>: > Thx for the explanation. > > I added the code to my application, but my timer still doesn't seem > to > work, but now my app doesn't crash anymore. > > Femke > > Op 8-mrt-09, om 03:51 heeft Kris Verlaenen het volgende geschreven: > > > Femke, > > > > The reason is that the Drools engine by default is a passive > > component, > > meaning that it will only execute if you tell it to explicitly > (e.g. > > using fireAllRules()). In this case, if you use a small timer the > > engine is still executing startProcess() and hence the timer will > be > > executed. When using a larger timer delay, the timer will trigger > but > > will only put an action on the action queue. If you would call > > fireAllRules after one minute, all queued actions (in this case > the > > execution of the timer) will be executed. You can however also > > configure the Drools engine to fire continuously using > > fireUntilHalt(). > > I just added this new section in the documentation to explain it: > > > > By default, the Drools engine is a passive component, meaning that > it > > will only start processing if you tell it to (for example, you > first > > insert the necessary data and then tell the engine to start > > processing). > > In passive mode, a timer that has been triggered will be put on > the > > action queue. This means that it will be executed the next time > the > > engine is told to start executing by the user (using fireAllRules() > or > > if the engine is already / still running), in which case the timer > > > will > > be executed automatically. > > > > When using timers, it does usually make sense to make the Drools > > engine > > an active component, meaning that it will execute actions whenever > > > they > > become available (and not wait until the user tells it to start > > executing again). This would mean a timer would be executed once it > is > > triggered. To make the engine fire all actions continuously, you > must > > call the fireUntilHalt() method. That means the engine will > continue > > firing until the engine is halted. The following fragment shows how > to > > do this (note that you should call fireUntilHalt() in a separate > > thread > > as it will only return if the engine has been halted (by either the > > > user > > or some logic calling halt() on the session): > > > > new Thread(new Runnable() { > > public void run() { > > ksession.fireUntilHalt(); > > } > > }).start(); > > > > // starting a new process instance > > ksession.startProcess("..."); > > // any timer that will trigger will now be executed automatically > > > > Kris > > > > Quoting Femke De Backere <[email protected]>: > > > >> Hi! > >> > >> I have a really strange problem with my ruleflow. I have a > ruleflow > >> > >> process with some workhandlers. The flow seems to work perfectly, > >> until I arrive at the timer. The timer itself executes well, if > it > >> delays for a period of only 4 milliseconds. The flow stops running > on > >> > >> the join component (because I don't reach the workhandler > CheckRass, > >> > >> in the debugging). > >> > >> If I give the timer a delay period of 1 minute (60 000 > >> milliseconds), the flow stops running at the timer component. The > >> action nodes before and after the timer contain print statements > and > >> > >> in this case I never reach the printstatement after the timer. > >> > >> I really don't understand why my flow stops running at these > points, > >> > >> as I never reach an end node. Does anyone see the problem? (I > added a > >> > >> printscreen of my ruleflow) > >> > >> Thx! > >> > >> Femke > >> > >> If I > > > > > > > > _______________________________________________ > > rules-users mailing list > > [email protected] > > https://lists.jboss.org/mailman/listinfo/rules-users > > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users > _______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
