说说 jBPM 流程定义语言(3)—— state 活动 (状态活动)
发布日期:2021-06-29 21:09:37
浏览次数:2
分类:技术文章
本文共 1582 字,大约阅读时间需要 5 分钟。
当需要使业务流程受到某些特定的外部干预处理后再继续进行,而在外部干预之前,流程会处于一个中断等待的状态,这时就使用到 state 活动。当流程运行到 state 活动时,就会自动陷入等待状态(waitting state),也就是说流程引擎在收到外部触发信号之前,会让流程实例在这个 state 活动持续等待。
state 活动除了最基本的 name 属性和 transition 等元素之外,没有其他的属性或元素。
我们设计一个 state 串行序列的流程:
然后编写代码让这个流程实例运行流转起来:
//发起实例ProcessInstance processInstance = executionService.startProcessInstanceByKey ("StateSequence");//触发流程走到下一步Execution executionInA = processInstance.findActiveExecutionIn("a");assertNotNull(executionInA);//在 a 节点//发出执行信号processInstance=executionService.signalExecutionById(executionInA.getId());Execution executionInB=processInstance.findActiveExecutionIn("b");assertNotNull(executionInB);//在 b 节点//发出执行信号processInstance=executionService.signalExecutionById(executionInB.getId());Execution executionInC=processInstance.findActiveExecutionIn("c");assertNotNull(executionInC);//在 c 节点
在 state 活动中可以定义多个 transition 元素,我们可以通过信号来传输指定转移路径的名称,这样就可以选择其中的一条 transition 来流转咯。
对应的 XML:
测试代码:
//发起实例ProcessInstance processInstance = executionService.startProcessInstanceByKey ("StateChoice");Setactivities=processInstance.findActiveActivityNames();//获取流程实例的 IDString executionId = processInstance.findActiveExecutionIn("等待响应").getId();//触发 accept 信号processInstance = executionService.signalExecutionById(executionId, "同意");assertTrue(processInstance.isActive("提交文档"));
如果使用 “拒绝” 作为信号传入 signalExecutionById(),那么流程将会流向 “再试一次吧” 的活动。
转载地址:https://deniro.blog.csdn.net/article/details/79236538 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月07日 10时04分14秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
html 引入 JQuery
2019-04-30
ReferenceError: Unknown plugin component
2019-04-30
vue 引入 element-ui 报 es2015 的错
2019-04-30
图片暴力压缩
2019-04-30
vue 插件 之 生成二维码 qrcodejs2
2019-04-30
javascript 之 获取毫秒时间戳
2019-04-30
python 环境搭建无坑
2019-04-30
python 配置web自动化测试框架 selenium
2019-04-30
python 自动化测试 selenium 框架 - 1
2019-04-30
html 导出 excel -- 1
2019-04-30
html 导出 excel 设置单元格文本格式 -- 2
2019-04-30
html 导出 excel 单元格合并 --3
2019-04-30
javascript 时间格式在iphone上的兼容问题 亲测有用 无坑点
2019-04-30
git 环境配置
2019-04-30
git 推送代码到远程仓库
2019-04-30
Android studio 安装 无坑
2019-04-30
android 禁止横屏 横竖屏问题
2019-04-30