- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
jbpm详细实例
JBPM4.2安装
State、Decision 、Task活动详解:
State表示一个等待状态。当流程实例执行到state节点时会暂停下来(处于等待状态),流程的执行会在外部触发器被调用之前一直等待(会暂停)
Decision条件判断节点,表示在多条路径中选择一条。一个 decision 活动拥有很多个传出的转移。流程的执行到达一个 decision 活动时,会自动进行计算来决定采用哪个传出的转移(满足条件时,向下执行,没有符合条件时会停留在decision活动的上一个活动)
Task任务组件,主要用来为流程实例分配任务。通常与form表单相关联.(会暂停下来)
State节点示例
无分支的state节点
流程定义文件:
?xml version=1.0 encoding=UTF-8?
process name=demo xmlns=/4.3/jpdl
start g=134,113,48,48 name=start
transition g=-53,-17 name=to state to=state/
/start
state g=219,204,92,52 name=state
transition g=-41,-17 name=to end to=end/
/state
end g=329,301,48,48 name=end/
/process
测试代码:
ProcessInstance processInstance=executionService.startProcessInstanceByKey(demo);
System.out.println(流程实例Id:+processInstance.getId());
System.out.println(流程定义Id:+processInstance.getProcessDefinitionId());
//判断当前是否位于start节点
System.out.println(是否位于start节点:+processInstance.isActive(start));//false
//判断当前是否位于state节点
System.out.println(是否位于state节点:+processInstance.isActive(state));//true
//判断流程是否结束
System.out.println(判断流程是否结束:+processInstance.isEnded());//false
System.out.println(------------------------使流程继续向下执行);
//使流程继续向下执行
//ProcessInstance instanceState=executionService.signalExecutionById(processInstance.getId());
//此处也可以这么写
ProcessInstance instanceState=executionService.signalExecutionById(processInstance.getId(),to end);
//to end为流程定义中用于连接state和end节点之间transition的name属性的值
//判断当前是否位于state节点
System.out.println(是否位于state节点:+instanceState.isActive(state));//false
//判断流程是否结束
System.out.println(判断流程是否结束:+instanceState.isEnded());//true
执行结果:
流程实例Id:demo.7
流程定义Id:demo-1
是否位于start节点:false
是否位于state节点:true
判断流程是否结束:false
------------------------使流程继续向下执行
是否位于state节点:false
判断流程是否结束:true
有分支的state节点:
注意:在此流程定义中在state节点后含有2个分支(2个transition 即to 400和to 200),那么在使流程实例从state节点向下执行的时候需要明确给出transition的方向name属性的值,否则流程实例会一直处于s
文档评论(0)