springboot不使用activiti实现审批流程
时间: 2023-08-23 19:33:32 浏览: 129
SpringBoot可以使用其他框架或组件来实现审批流程,下面简单介绍一下使用Flowable框架实现审批流程的步骤。
1.添加依赖,可以在pom.xml中添加以下依赖:
```
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-spring-boot-starter</artifactId>
<version>${flowable.version}</version>
</dependency>
```
2.配置数据源,可以在application.yml中配置:
```
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/flowable?useUnicode=true&characterEncoding=utf-8&useSSL=false
username: root
password: root
```
3.创建并配置流程引擎,可以在代码中创建ProcessEngineConfiguration对象,并进行配置:
```
@Bean
public ProcessEngineConfiguration processEngineConfiguration(DataSource dataSource) {
SpringProcessEngineConfiguration configuration = new SpringProcessEngineConfiguration();
configuration.setDataSource(dataSource);
configuration.setDatabaseSchemaUpdate("true");
return configuration;
}
```
4.创建并部署流程,可以在代码中使用RepositoryService对象来创建和部署流程:
```
@Resource
private RepositoryService repositoryService;
public void deploy() {
DeploymentBuilder deploymentBuilder = repositoryService.createDeployment();
deploymentBuilder.addClasspathResource("processes/demo.bpmn20.xml");
deploymentBuilder.deploy();
}
```
5.启动流程实例,可以在代码中使用RuntimeService对象来启动流程实例:
```
@Resource
private RuntimeService runtimeService;
public void startProcessInstance(String processDefinitionKey, Map<String, Object> variables) {
runtimeService.startProcessInstanceByKey(processDefinitionKey, variables);
}
```
6.查询任务并完成任务,可以使用TaskService对象来查询任务,并使用CompleteTask()方法来完成任务:
```
@Resource
private TaskService taskService;
public void completeTask(String taskId, Map<String, Object> variables) {
taskService.complete(taskId, variables);
}
```
以上就是使用Flowable框架实现审批流程的基本步骤。当然,具体实现还需要根据具体的业务需求进行进一步的配置和编码。
阅读全文