Cool, I will try to test it.<br><br><div class="gmail_quote">On Fri, Jun 25, 2010 at 8:17 PM, nanic23 <span dir="ltr"><<a href="mailto:nanic23@hotmail.com">nanic23@hotmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
Hi salaboy,<br>
<br>
Here is an image of my flow:<br>
<br>
<a href="http://drools-java-rules-engine.46999.n3.nabble.com/file/n923330/SnapShot.jpg" target="_blank">http://drools-java-rules-engine.46999.n3.nabble.com/file/n923330/SnapShot.jpg</a><br>
<br>
Here is the flow definition:<br>
<br>
<?xml version="1.0" encoding="UTF-8"?><br>
<process xmlns="<a href="http://drools.org/drools-5.0/process" target="_blank">http://drools.org/drools-5.0/process</a>"<br>
xmlns:xs="<a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank">http://www.w3.org/2001/XMLSchema-instance</a>"<br>
xs:schemaLocation="<a href="http://drools.org/drools-5.0/process%0Adrools-processes-5.0.xsd" target="_blank">http://drools.org/drools-5.0/process<br>
drools-processes-5.0.xsd</a>"<br>
type="RuleFlow" name="simple-embeded-timer-with-persistence"<br>
id="simple-embeded-timer-with-persistence" package-name="com.flow" ><br>
<br>
<header><br>
</header><br>
<br>
<nodes><br>
<start id="1" name="Start" x="16" y="16" width="48" height="48" /><br>
<workItem id="2" name="Suspend With Timer" x="96" y="16" width="144"<br>
height="48" ><br>
<work name="doNothingHandler" ><br>
</work><br>
<timers><br>
<timer id="1" delay="500" period="1000" ><br>
<action type="expression" dialect="mvel" >System.out.println("****<br>
Timer Triggered ****");</action><br>
</timer><br>
</timers><br>
</workItem><br>
<actionNode id="3" name="Print Out" x="272" y="20" width="80"<br>
height="40" ><br>
<action type="expression" dialect="mvel" >System.out.println("****<br>
WorkItem Completed!!! Finishing Flow ****");</action><br>
</actionNode><br>
<end id="4" name="End" x="384" y="20" width="80" height="40" /><br>
</nodes><br>
<br>
<connections><br>
<connection from="1" to="2" /><br>
<connection from="2" to="3" /><br>
<connection from="3" to="4" /><br>
</connections><br>
<br>
</process><br>
<br>
Here is the test code:<br>
<br>
@Test<br>
public void shouldStartFlowAndSuspend() {<br>
/*<br>
* Persistence enabled - Timer does NOT work!!!<br>
*/<br>
ksession = JPAKnowledgeService.newStatefulKnowledgeSession(kbase, null,<br>
droolsEnvironment);<br>
<br>
/*<br>
* Persistence disabled - Timer DOES work!!!<br>
*/<br>
//ksession = kbase.newStatefulKnowledgeSession();<br>
<br>
sessionId = ksession.getId();<br>
<br>
ksession.getWorkItemManager()<br>
.registerWorkItemHandler("doNothingHandler", new<br>
DoNothingWorkItemHandler());<br>
<br>
ksession.startProcess("simple-embeded-timer-with-persistence", null);<br>
<br>
// start timer thread<br>
<div class="im"> new Thread() {<br>
@Override<br>
public void run() {<br>
</div> System.out.println("**** Timer thread started ****");<br>
ksession.fireUntilHalt();<br>
}<br>
}.start();<br>
<br>
// Allow timer to run for 10s<br>
try {<br>
Thread.sleep(10000);<br>
} catch (InterruptedException e) {<br>
e.printStackTrace();<br>
}<br>
}<br>
<br>
@Test //NOTE: comment out when not using persistence.<br>
public void shouldResumeFlowAndComplete() {<br>
ksession =<br>
JPAKnowledgeService.loadStatefulKnowledgeSession(sessionId, kbase, null,<br>
droolsEnvironment);<br>
<br>
ksession.getWorkItemManager()<br>
.registerWorkItemHandler("doNothingHandler", new<br>
DoNothingWorkItemHandler());<br>
<br>
ksession.getWorkItemManager().completeWorkItem(1, null);<br>
}<br>
<br>
NOTE: when running WITHOUT persistence the second test method for obvious<br>
reasons will fail so it needs to be commented out.<br>
<br>
Persistence is set up correctly, I've checked the database and everything is<br>
being persisted. I can as well resume and complete with no problems BUT the<br>
timer is NOT working.<br>
<br>
Let me know if this is enough and/or if you have any question.<br>
<br>
Thanks,<br>
<br>
Nick.<br>
<font color="#888888"><br>
--<br>
View this message in context: <a href="http://drools-java-rules-engine.46999.n3.nabble.com/Implementing-Timers-With-Drools-Persistence-Enabled-tp923142p923330.html" target="_blank">http://drools-java-rules-engine.46999.n3.nabble.com/Implementing-Timers-With-Drools-Persistence-Enabled-tp923142p923330.html</a><br>
</font><div><div></div><div class="h5">Sent from the Drools - User mailing list archive at Nabble.com.<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" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br> - CTO @ <a href="http://www.plugtree.com">http://www.plugtree.com</a> <br> - MyJourney @ <a href="http://salaboy.wordpress.com">http://salaboy.wordpress.com</a><br>
- Co-Founder @ <a href="http://www.jbug.com.ar">http://www.jbug.com.ar</a><br> <br> - Salatino "Salaboy" Mauricio -<br>