栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

ServiceTask使用外部Java应用程序

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ServiceTask使用外部Java应用程序

文章目录
        • 创建流程图payment.bpmn
        • 创建Maven项目实现Java应用程序
        • 启动Camunda Cloud Run
        • 部署流程并启动流程实例
        • 参考资料

创建流程图payment.bpmn
  • Start Event
    Name:收到付款请求
  • Service Task
    Name:信用卡收款
    将该任务设置为Service Task,然后将Implementation设置为External,Topic:charge-card。
  • End Event
    Name:收到付款
  • payment.bpmn
    点击任意空白处,设置流程图的Id、Name,勾选Executable。
    Id:payment-retrieval
    Name:收款
    最后将将文件另存为payment.bpmn。
创建Maven项目实现Java应用程序

pom文件中添加依赖,pom.xml的内容如下,



    4.0.0

    org.camunda.bpm.getstarted
    charge-card-worker
    1.0-SNAPSHOT

    
        8
        8
        7.16.0
    

    
        
            org.camunda.bpm
            camunda-external-task-client
            ${camunda.external-task-client.version}
        
        
            org.slf4j
            slf4j-simple
            1.6.1
        
        
            javax.xml.bind
            jaxb-api
            2.3.1
        
    


创建启动类org.camunda.bpm.getstarted.chargecard.ChargeCardWorker,内容如下,

package org.camunda.bpm.getstarted.chargecard;


import org.camunda.bpm.client.ExternalTaskClient;

import java.util.logging.Logger;

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();
        client.subscribe("charge-card").lockDuration(1000)
                .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+"'..."
                    );
                    externalTaskService.complete(externalTask);
                }).open();

    }
}

运行ChargeCardWorker#main,启动Java应用。

启动Camunda Cloud Run

部署流程并启动流程实例

参考资料

https://docs.camunda.org/get-started/quick-start/service-task/
https://docs.camunda.org/get-started/quick-start/deploy/

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/666902.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号