| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> Camunda Workflow BPMN 开发实践(一) -> 正文阅读 |
|
[Java知识库]Camunda Workflow BPMN 开发实践(一) |
前言最近工作在用Camunda搞Workflow,认识到了一种全新的程序设计理念。它将程序分为两种:Task和Process。Task只提供服务,Process只负责流程,它俩彼此并不知道且不关心对方的存在,实现了业务流程与代码的解耦。 接下来,我以自己浅薄的碎片化知识,来讲下它是怎么玩的。
开发环境
BPMN文件也可以用VS Code之类的工具打开,它其实是XML。 排他网关上图菱形中间有个X的是一个排他网关,排他指的是它只会选择一个出口(only one sequence flow is selected ) 正如上图所示,每条线都加了对应条件(else 表示默认),
包容网关上图菱形中间有个?的是一个包容网关。它的出口可以同时满足多条线的条件,并且会fork流程,满足条件的线会并行得到执行。
?并行网关并行网关的出口(outgoing sequence flow)是不能带条件的,每条线都会并行得到执行。 并行网关也会等待所有条件到达才会往下执行,但这里有个坑。
?用户任务?用户任务通常是一些需要人工确认(confirm)的任务。当我们的流程实例(Process Instance)激活了一个用户任务之后,我们可以直接在Camunda Tasklist面板来结束它,当然你也可以用代码实现。
服务Service Task 通常用来执行外部任务,也就是需要程序员实现的部分。使用Java代码可以直接监听Service Task的创建事件并进行逻辑处理。比如增加一条审批记录,或者帮财务完成自动打款。 接下来,我们讲一下如何用REST Api来完成:Camunda Docs 打开Postman 按顺序调用以下接口: ?Get List?->?Fetch and Lock??->?Complete 每个Service Task 都需要用workerId先lock才可以,而且应该指定一个lock时间,?workerId 可以是任意字符串,但是Complete的时候,必须使用相同的workerId 才可以结束。 Message Event?上面给大家演示了下一个简单的Message Event怎么创建的,这个Message Event就和服务关联起来了。你可以自行设置收到Message Event之后的Workflow。 当服务已经激活时,使用Postman调用:Event Subscription | docs.camunda.org查询当前服务正在监听的Events, 你可以看的定义的Message Event,然后使用?Message | docs.camunda.org? ? 来模拟一个事件,当前Task收到事件之后,会执行事件逻辑,而忽略其他出口。
开启一个Workflow Instance在Camunda Modeler画好workflow,起个名字,点左下角Deploy。 到?点右上角Start Process,选择已部署的workflow, Business Key:?起个名字 Add Variables: 添加所需要的变量 然后到?Camunda Cockpit | Dashboard就可以看到process实例创建成功了。? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 10:29:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |