设为首页 加入收藏

TOP

Activiti 7 启动流程实例(一)
2023-07-25 21:36:15 】 浏览:81
Tags:Activiti 程实例

首先,考虑下面这样一个流程图

主要的流程定义如下:

<process id="demo" name="demo" isExecutable="true">
    <startEvent id="sid-aee4f5b6-6b26-423d-85c3-499659fb523b"/>
    <manualTask id="sid-f10234c0-9056-4b68-8422-f967d08c1cac" activiti:exclusive="true" name="人工任务1"/>
    <manualTask id="sid-fad46cbb-9529-4685-83d1-95cf96dba9dc" activiti:exclusive="true" name="人工任务2">
        <extensionElements>
            <activiti:executionListener event="end" class="com.example.demo222.MyExecutionListener"/>
        </extensionElements>
    </manualTask>
    <userTask id="sid-7049a00c-8eb8-4018-9210-dba9ece4dcf7" name="用户任务" activiti:assignee="zhangsan">
        <extensionElements>
            <activiti:taskListener event="complete" class="com.example.demo222.MyTaskCompleteListener"/>
        </extensionElements>
    </userTask>
    <endEvent id="sid-5be26610-d40f-4745-87a9-f20462595a45"/>
    <sequenceFlow id="sid-3b11c1ae-cdc2-4899-9014-0aa6ecc948a3" sourceRef="sid-aee4f5b6-6b26-423d-85c3-499659fb523b" targetRef="sid-f10234c0-9056-4b68-8422-f967d08c1cac"/>
    <sequenceFlow id="sid-04d1ef58-433d-4bd5-ac73-dec836ee2856" sourceRef="sid-f10234c0-9056-4b68-8422-f967d08c1cac" targetRef="sid-fad46cbb-9529-4685-83d1-95cf96dba9dc"/>
    <sequenceFlow id="sid-428c8fef-fe25-4c09-8d27-78f109f8312f" sourceRef="sid-fad46cbb-9529-4685-83d1-95cf96dba9dc" targetRef="sid-7049a00c-8eb8-4018-9210-dba9ece4dcf7"/>
    <sequenceFlow id="sid-fb1b8968-35e5-4fde-85c9-8c8dbafcf75b" sourceRef="sid-7049a00c-8eb8-4018-9210-dba9ece4dcf7" targetRef="sid-5be26610-d40f-4745-87a9-f20462595a45"/>
</process>

两个人工任务,一个用户任务

依赖

<dependency>
    <groupId>org.activiti</groupId>
    <artifactId>activiti-spring-boot-starter</artifactId>
    <version>7.1.0.M6</version>
</dependency>

流程执行监听器

package com.example.demo222;

import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener;

public class MyExecutionListener implements ExecutionListener {
    @Override
    public void notify(DelegateExecution execution) {
        throw new RuntimeException("ExecutionListener报错了");
    }
}

任务监听器

package com.example.demo222;

import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;

public class MyTaskCompleteListener implements TaskListener {
    @Override
    public void notify(DelegateTask delegateTask) {
        throw new RuntimeException("TaskListener报错了");
    }
}

启动流程

package com.example.demo222;

import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.runtime.ProcessInstance;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import o
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 1/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇剑指 Offer 17. 打印从 1 到最大.. 下一篇理解MVCC

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目