Basi c вопрос BPMN: Activiti с загрузкой Spring - PullRequest
0 голосов
/ 10 июля 2020

Итак, вчера я начал изучать Activiti с помощью Spring Boot. Существует множество руководств по inte rnet, в которых

  • Создайте функцию, которая сохраняет пользователей в БД.
  • Создайте файл BPMN задачи.
  • Создайте контроллер для запуска, мониторинга и завершения задач.

Предположим, что в моем рабочем процессе есть только одна задача, т.е. отправка электронной почты пользователю. введите описание изображения здесь

Итак, проблема в том, что я не могу понять, что Где мне нужно написать код для отправки электронной почты

В основном, как только я начал задача, какой код она будет выполнять?

Я просмотрел весь inte rnet, но не смог найти никакого решения. Я полностью новичок в этом.

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 24 июля 2020
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);
    }
}
0 голосов
/ 13 июля 2020

Вы могли бы вместо этого взглянуть на Камунду. Я создал кучу видеоуроков по тому, что вы ищете, а также по общению . Camunda - это ответвление деятельности, появившейся некоторое время назад, но я бы сказал, что некоторые из принципов, связанных с задачами отправки, по-прежнему остаются верными.

...