Spring Cloud Activiti 是一个用于集成Activiti工作流引擎和Spring Cloud配置管理的项目。使用Spring Cloud Activiti,你可以很容易地在Spring Cloud应用中集成Activiti进行审批流的处理。
以下是一个简单的例子,展示如何使用Spring Cloud Activiti启动一个简单的审批流程定义:
- 首先,在
pom.xml
中添加Spring Cloud Activiti的依赖:
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter-basic</artifactId>
<version>6.0.0</version>
</dependency>
- 定义BPMN流程文件(例如
my-process.bpmn20.xml
),描述了审批流程:
<process id="MyApprovalProcess" name="My Approval Process" isExecutable="true">
<startEvent id="start" />
<userTask id="approveTask" name="Approve" activiti:assignee="admin" />
<endEvent id="end" />
<sequenceFlow id="flow1" sourceRef="start" targetRef="approveTask" />
<sequenceFlow id="flow2" sourceRef="approveTask" targetRef="end" />
</process>
- 在Spring Boot应用中启动流程实例:
@Autowired
private RuntimeService runtimeService;
public void startProcessInstance() {
runtimeService.startProcessInstanceByKey("MyApprovalProcess");
}
- 创建一个任务监听器来处理任务:
@Component
public class ApprovalTaskListener implements TaskListener {
@Autowired
private TaskService taskService;
public void notify(DelegateTask delegateTask) {
// 处理任务逻辑
taskService.complete(delegateTask.getId());
}
}
确保你的Spring Boot应用已经配置了Activiti,并且有一个ProcessEngine
Bean。这样,你就可以通过RuntimeService
启动流程,通过TaskService
完成任务,从而实现一个简单的基于Activiti的审批流程。