【问题标题】:Basic BPMN question: Activiti with Spring boot基本 BPMN 问题:Activiti with Spring boot
【发布时间】:2020-07-24 23:47:43
【问题描述】:

所以昨天我开始用 Spring Boot 学习 Activiti。 网上有很多教程,其中

  • 创建一个将用户保存到 DB 的函数。
  • 创建任务的 BPMN 文件。
  • 创建一个控制器来启动、监控和结束任务。

假设我的工作流程中只有一项任务,即向用户发送电子邮件。

所以,问题是,我无法理解 我需要在哪里编写发送电子邮件的代码

基本上,一旦我开始一个任务,它将执行哪些代码?

我搜索了整个互联网,但找不到任何解决方案。我完全是这方面的初学者。

我们将不胜感激。

【问题讨论】:

    标签: spring-boot workflow activiti bpmn


    【解决方案1】:
    1. Use below content for your bpmn.xml file as per requirement,
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions
            xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
            xmlns:activiti="http://activiti.org/bpmn"
            targetNamespace="Examples">
    
        <process id="oneTaskProcess" name="The Email task">
            <startEvent id="theStart" />
            <sequenceFlow id="flow1" sourceRef="theStart" targetRef="emailTask" />
            <serviceTask id="emailTask"
                         name="Email task service invocation"
                         activiti:class="com.mycompany.SendEmail">
            </serviceTask>
            <sequenceFlow id="flow2" sourceRef="emailTask" targetRef="theEnd" />
            <endEvent id="theEnd" />
        </process>
    
    </definitions>
    
    2.Create a service task using java as below,
    
    package com.mycompany.SendEmail;
    public class SendEmail implements ActivityBehavior {
        @Override
        public void execute(ActivityExecution execution) throws Exception {
            PvmTransition transition = null;
            // do your business logic.
            try{
                transition = execution.getActivity().findOutgoingTransition("theEnd");
            }catch (Exception e){
                //do nothing
            }
            execution.take(transition);
        }
    }
    

    【讨论】:

      【解决方案2】:

      您可以考虑看看 Camunda。 我围绕您要查找的内容创建了bunch of video tutorials 以及one on communication。 Camunda 是不久前的 activiti 的一个分支,但我想说一些围绕发送任务的原则仍然适用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-25
        • 1970-01-01
        • 1970-01-01
        • 2019-03-04
        相关资源
        最近更新 更多