基本 BPMN 问题:Activiti with Spring boot

Basic BPMN question: Activiti with Spring boot

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

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

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

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

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

我们将不胜感激。

你可以考虑看看 Camunda。 我创建了一个 bunch of video tutorials around what you're looking for as well as one on communication。 Camunda 是前一段时间 activiti 的一个分支,但我想说发送任务的一些原则仍然适用。

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);
    }
}