JBPM4.4 timer 如何使用?
feng198526
2012-11-28
<?xml version="1.0" encoding="UTF-8"?>
<process name="TimerEvent" xmlns="http://jbpm.org/4.3/jpdl"> <start g="24,144,80,40"> <transition to="guardedWait" /> </start> <state name="guardedWait" g="161,167,80,40"> <on event="timeout"> <timer duedate="10 seconds" /> <event-listener class="com.fxn.EventListener1" /> </on> <transition name="go on" to="next step" g="334,204" /> </state> <state name="next step" g="387,107,80,40" /> </process> 这是一个jpdl,我希望的功能是,如果在guardedWait停留的时候超过了10秒钟那么就会执行 com.fxn.EventListener1,然后流程还是可以通过 "go on"进入next step 现在的问题是 Job job = managementService.createJobQuery().timers() .processInstanceId(processInstance.getId()).uniqueResult(); managementService.executeJob(job.getId()); 可以顺利的执行监听,但是如果Thread.sleep(6100); 这样则不会有任何的反应,请教下是因为我的使用方法不对,还是必须自己在执行的时候 Date date = new Date(); if(date .after(job.getDueDate())) managementService.executeJob(job.getId()); 这样才行呢 我在网上找不到相关的资料 - - |
|
feng198526
2012-11-29
在 jbpm.cfg.xml 中 有 <import resource="jbpm.jobexecutor.cfg.xml" /> 这一句话 把注释去掉就行了 但是会有一个线程不停的扫描 jbpm4_job表
|
|
freezingsky
2012-12-10
jBPM工作流应用开发指南这本书你上网找一下!
|
|
Kevin12
2013-08-14
要实现你这个功能,不应该将定时器放到name="guardedWait"节点上,应该放到name="guardedWait"节点中的流转线上,这样定时器执行的同时会进入next step
|