JBPM知识点------timer、Scheduler
?
<?xml?version="1.0"?encoding="UTF-8"?>
<process-definition?xmlns=""?name="yytest">
????<start-state>
????????<transition?to="a"/>
????</start-state>
????<state?name='a'>
?????<timer?name='reminder'?
?????????????duedate='0?seconds'?
?????????????repeat='3?seconds'>
????????<script>System.out.println("timer?running");</script>
?????</timer>
?????<timer?name='reminderend'?
?????????????duedate='12?seconds'
?????????????transition='end'
?????????????>
????????<cancel-timer?name='reminder'/>
?????</timer>
????</state>
???<end-state?name="end"></end-state>
</process-definition>
?
private?static?void?run(){
????????????????try?{
????????????long?processInstanceId?=1;
???????????????processInstance?=????????????????Token?token?=?processInstance.getRootToken();
???????????????//schedulerSession?=????????????????System.out.println(token.getNode());
???????????????token.signal();
???????????????System.out.println(token.getNode());
???????????????//Timer?timer?=?(Timer)?schedulerSession.findTimersByDueDate().next();
???????????????//timer.execute();
???????????????SchedulerThread?st=new?SchedulerThread(???????????????//st.executeTimers();
???????????????st.run();
???????????????//token.signal();
???????????????//System.out.println(token.getNode());
???????????????//????????????}finally?{
??????????????????????????}
????}运行结果如下:
StartState(159e154)
State(a)
timer running
timer running
timer running
timer running
(12秒后停止但是线程还在run)