准备工作

先下载2个客户端,分别是Camunda Platform和Camunda Modeler

Camunda Platform是用来部署的
Camunda Modeler是用来设计流程的

具体的流程里的实际动作还是需要我们自己写代码去订阅实现的。

直接上官网的2个下载地址,下载后不需要配置环境变量直接就能run,我这边本地pc是windows的所以下载了windows的,运行步骤可以直接看官网文档

Camunda Platform
https://camunda.com/download/

平台登录默认账密
demo/demo

Camunda Modeler
https://camunda.com/download/modeler/

简单设计一个流程

在2者启动之后,打开modler开始demo制造。

双击开始圆圈节点,起个名字,然后鼠标左点击后选择Append task(空白矩形),然后也是双击起个名字,之后点击Append task后选择change type改成service task,最后增加一个end节点。

接着在service task里的Implementation中修改类型为External,给topic起个名字,这个topic名字就是一会我们需要在代码里订阅的。

最后就是部署,然后启动我们的代码。用postman抛个demo数据过去看能不能接收到。

下面用图片描述下上面的流程

1-新建文件

官网用的文档也是这个version 7的,所以我这里就直接创建版本7的了

2命名开始节点

3-创建一个任务并命名

4-修改任务为service task

5-追加结束节点并命名

6-修改刚创建的task类型

7-自定义代码订阅任务节点内容

我这边使用的java
导入依赖

<dependency><groupId>org.camunda.bpm</groupId><artifactId>camunda-external-task-client</artifactId><version>7.15.0</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-simple</artifactId><version>1.6.1</version></dependency><dependency><groupId>javax.xml.bind</groupId><artifactId>jaxb-api</artifactId><version>2.3.1</version></dependency>

直接运行下面这段代码

package com.fchan.worker;import org.camunda.bpm.client.ExternalTaskClient;import java.awt.*;
import java.net.URI;
import java.util.logging.Logger;/*** ClassName: ChargeCardWorker* Description:* date: 2022/11/11 10:18** @author fchen*/
public class ChargeCardWorker {private final static Logger LOGGER = Logger.getLogger(ChargeCardWorker.class.getName());public static void main(String[] args) {ExternalTaskClient client = ExternalTaskClient.create().baseUrl("http://localhost:8080/engine-rest").asyncResponseTimeout(10000) // 长轮询超时时间.build();// 订阅指定的外部任务,task的topicclient.subscribe("task_demo").lockDuration(1000) // 默认锁定时间为20秒,这里修改为1秒.handler((externalTask, externalTaskService) -> {// 将您的业务逻辑写在这// 获取流程变量String item = (String) externalTask.getVariable("item");Long amount = (Long) externalTask.getVariable("amount");LOGGER.info("Charging credit card with an amount of '" + amount + "'€ for the item '" + item + "'...");try {Desktop.getDesktop().browse(new URI("https://docs.camunda.org/get-started/quick-start/complete"));} catch (Exception e) {e.printStackTrace();}// 完成任务externalTaskService.complete(externalTask);}).open();}}

8-部署流程

9-测试

post请求
http://localhost:8080/engine-rest/process-definition/key/Process_0d1kgby/start

Process_0d1kgby就是刚刚我们流程的id

body内容可以自定义,和我们代码对上即可

{"variables": {"amount": {"value": 555,"type": "long"},"item": {"value": "item-xyz"}}
}

测试成功

工作流Camunda入门demo相关推荐

  1. Camunda入门(四) - 流程应用(支付流程)入门示例

    参考文章:Camunda入门(四) - 流程应用(支付流程)入门示例_罗小爬EX的博客-CSDN博客_camunda入门 1. 支付流程 - 场景设定 为了快速上手Camunda,结合Camunda官 ...

  2. Activiti7 工作流引擎入门

    Activiti7 工作流引擎入门 做课目的 一.适用人群: 普通人 不是每个人都能进入一线互联网大厂 BATJ 普通人,省城,软件公司,银行.政府做 二.适用项目:OA CRM ERP 系统 出差报 ...

  3. Activiti工作流从入门到入土:完整Hello World大比拼(Activiti工作流 API结合实例讲解)

    文章源码托管:https://github.com/OUYANGSIHAI/Activiti-learninig 欢迎 star !!! 本来想着闲来无事,前面在项目中刚刚用到了工作流 Activit ...

  4. activiti api文档_【白银人机】Activiti 工作流从入门到入土:完整 hello world 大比拼(API 结合实例讲解)...

    点击上方"好好学java",选择"置顶"公众号 重磅资源.干货,第一时间送达 重磅推荐  ① 纯福利 | 公众号资源大汇总,一年才一次! ② 重磅!!2018年 ...

  5. Activiti工作流从入门到入土:完整Hello World大比拼(Activiti工作流 API结合实例讲解)...

    文章源码托管:github.com/OUYANGSIHAI- 欢迎 star !!! 本来想着闲来无事,前面在项目中刚刚用到了工作流 Activiti 框架,写写博客的,但是,事情总是纷纷杂杂,一直拖 ...

  6. Dubbo入门Demo

    2019独角兽企业重金招聘Python工程师标准>>> 1.Dubbo简单介绍 Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方 ...

  7. rabbitmq 入门demo

    rabbitmq 入门demo http://www.cnblogs.com/jimmy-muyuan/p/5428715.html http://www.cnblogs.com/shanyou/p/ ...

  8. dubbo web工程示例_分布式开发-Zooker+dubbo入门-Demo

    作者:知了堂-刘阳 1.什么是SOA架构 SOA 是Service-Oriented Architecture的首字母简称,它是一个面向服务的架构模式(俗称:分布式:面服务的分布式) 为什么互联网项目 ...

  9. 服务网关Ocelot 入门Demo系列(01-Ocelot极简单Demo及负载均衡的配置)

    服务网关Ocelot 入门Demo系列(01-Ocelot极简单Demo及负载均衡的配置) 原文:服务网关Ocelot 入门Demo系列(01-Ocelot极简单Demo及负载均衡的配置) [前言] ...

最新文章

  1. python 进程池pool简单实例
  2. 计算机视觉经典任务分类
  3. 2022版全球及中国消防设备市场营销策略分析与竞争趋势展望报告
  4. [Java] java中的接口定义
  5. 微信小程序服务器支付sdk,微信小程序之支付后如何调用SDK的异步通知
  6. 聊天机器人-AIML人工智能标记语言
  7. HTML中表单能嵌套吗,你可以嵌套的HTML表单?
  8. vue将经纬度转换成地理名称_新武汉北,红安有了一个新的地理名称,恒大项目将对标上海迪士尼...
  9. Ubuntu——安装中文拼音输入法
  10. 机器学习之监督学习(一)——决策树
  11. matlab电容式传感器仿真,差动电容式位移传感器的仿真研究
  12. oracle数据泵导入append,ORACLE在Win环境EXPDP和IMPDP数据泵导出导入DMP数据
  13. 服务器位置不可用,服务器的MSDTC不可用解决办法
  14. 大数据笔记--Spark机器学习(第一篇)
  15. stm32正点原子和普中或是野火哪个好?
  16. vue侧边栏组件_画布侧边栏Vue组件
  17. PA-1190201215-冯开来(计算机系统大作业)
  18. 在linux中连接mysql数据库服务器_Linux下连接Mysql服务器的方式
  19. 三十六 我在软件园的那些日子里
  20. 【笔记】分布式系统核心问题概述(二)

热门文章

  1. 单片机最小系统 原理图详解 PCB操作 个人备忘
  2. TCP的listen和accept函数
  3. python乘法函数英文缩写_乘积(python乘法函数)
  4. ES7在WIN环境开启闪退【完美解决】
  5. 展望2023,软件测试的走势分析详情
  6. html在线校验器,代码检查错误必备工具-HTML标签检测器
  7. 微信小程序上线后,苹果手机请求不到数据,安卓可以
  8. 复旦大学计算机系学生,对复旦大学计算机系数据库课程的评价.doc
  9. IDEA 自动生成序列号
  10. 《人类简史》笔记一——快乐该如何计算