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
Global site tag (gtag.js) - Google Analytics