工作流Camunda入门demo

这篇具有很好参考价值的文章主要介绍了工作流Camunda入门demo。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

准备工作

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

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

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

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

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

平台登录默认账密
demo/demo
工作流Camunda入门demo

Camunda Modeler
https://camunda.com/download/modeler/
工作流Camunda入门demo

简单设计一个流程

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

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

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

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

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

1-新建文件

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

工作流Camunda入门demo

2命名开始节点
工作流Camunda入门demo

3-创建一个任务并命名

工作流Camunda入门demo

4-修改任务为service task
工作流Camunda入门demo

5-追加结束节点并命名
工作流Camunda入门demo

6-修改刚创建的task类型

工作流Camunda入门demo

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的topic
        client.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-部署流程

工作流Camunda入门demo

工作流Camunda入门demo

工作流Camunda入门demo

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文章来源地址https://www.toymoban.com/news/detail-405322.html

到了这里,关于工作流Camunda入门demo的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • camunda工作流实战项目(表单设计器+流程编辑器,零代码创建流程)

    基于ruoyi平台和camunda工作流开发而成,结合bpmn.js流程编辑器和vform表单设计器,实现常规流程零代码创建。 具备流程中心的能力,支持外部任务,可协调多个业务系统协同工作 具备SaaS平台的能力,支持多租户,各业务系统可作为租户,创建自己的流程,通过外部任务与自身

    2024年02月12日
    浏览(56)
  • 【idea中Activiti BPMN visualizer插件和Camunda Modeler工作流设计器的简单使用】

    1、Idea中的工作流插件Activiti BPMN visualizer Activiti插件actiBPM在新版的idea 2020及以上版本中已经不支持,Activiti BPMN visualizer是一款支持编辑和游览工作流设计图的idea插件,但是它对工作流设计中的网关设计支持并不太友好;下面第4章节我们用到Camunda Modeler软件来协助设计整体工

    2023年04月09日
    浏览(43)
  • Java spring boot 全解Camunda 7,从 0 到 1 构建工作流平台——第一节:各个开源框架对比

    引言:最近公司在做工作流这一块相关的东西,我是技术主要负责人之一。想着既然在公司做,用的是开源框架做的二开,反正也不涉及公司保密协议,也不涉及其它相关的法律问题,所以这里将自己做的那一部分公开出来,让后来者可以借鉴一二,或者给我斧正一二。 Ca

    2024年02月05日
    浏览(46)
  • 【activiti】工作流入门基础概念

    为什么使用activiti 状态--------------------------------------------------引擎engin(业务变动不影响程序的进行) 每个人只能看到个人负责的,流程变更困难 bpmn建模语言 activiti流程步骤 步骤: 1、部署流程 2、定义流程 3、部署流程定义:使用activiti中的API把流程定义存储,在Acitivti执行过

    2024年02月16日
    浏览(39)
  • Flowable工作流入门&完整SpringBoot案例

    工作流(Workflow),是指对于一项业务,按照规定的流程,逐级传递、申请、执行等,并且受到了严格控制的一种业务过程。 BPM(Business Process Management)是指对于某项业务的整个生命周期进行全面管理的一种模式,最核心的内容包括了工作流、决策、交互等。在这些管理过程

    2024年02月12日
    浏览(44)
  • 两小时快速入门 TypeScript 基础(一)工作流、基本类型、高级类型

    个人简介 👀 个人主页: 前端杂货铺 🙋‍♂️ 学习方向: 主攻前端方向,也会涉及到服务端(Node.js 等) 📃 个人状态: 2023届本科毕业生,已拿多个前端 offer(秋招) 🚀 未来打算: 为中国的工业软件事业效力 n 年 🥇 推荐学习:🍍前端面试宝典 🍉Vue2 🍋Vue3 🍓Vue2/

    2024年02月11日
    浏览(43)
  • 工作流Flowable入门教程:flowableUI的安装使用,RepositoryService、RuntimeService、TaskService、HistoryService的使用

    Flowable是一个使用Java编写的轻量级业务流程引擎。Flowable流程引擎可用于部署BPMN 2.0流程定义(用于定义流程的行业XML标准), 创建这些流程定义的流程实例,进行查询,访问运行中或历史的流程实例与相关数据,等等。这个章节将用一个可以在你自己的开发环境中使用的例

    2024年01月18日
    浏览(59)
  • 【工作流】Activiti工作流简介以及Spring Boot 集成 Activiti7

    什么是工作流? 工作流指通过计算机对业务流程进行自动化管理,实现多个参与者按照预定义的流程去自动执行业务流程。 文章源码托管:https://github.com/OUYANGSIHAI/Activiti-learninig Activiti5是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、

    2024年02月08日
    浏览(53)
  • 云原生离线工作流编排利器 -- 分布式工作流 Argo 集群

    作者:庄宇 在现代的软件开发和数据处理领域,批处理作业(Batch)扮演着重要的角色。它们通常用于数据处理,仿真计算,科学计算等领域,往往需要大规模的计算资源。随着云计算的兴起,阿里云批量计算和 AWS Batch 等云服务提供了管理和运行这些批处理作业的平台。 随

    2024年01月24日
    浏览(84)
  • 半天就行!教你用ChatGPT开发小程序;谁能做出中国的Discord?LangChain中文入门教程;一个周末搞定电影预告片的AI工作流 | ShowMeAI日报

    👀 日报周刊合集 | 🎡 生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! ShowMeAI知识星球资料分类「下资料」,编号「R080」 Discord 不仅是口碑最好的游戏通信产品,还是世界上规模最大、发展最快的社交网络。在最新AI浪潮中 Discord 又迎来了新的增量。 Discord 也是非常

    2024年02月11日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包