springboot 整合 activiti7 流程 定义 部署 启动 和操作流程
时间: 2023-02-11 15:27:27 浏览: 337
Spring Boot 集成 Activiti 7 流程定义非常简单,可以通过以下步骤来实现:
1. 引入 Activiti 的依赖,在 pom.xml 文件中添加如下内容:
```xml
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter-basic</artifactId>
<version>7.0.0.M4</version>
</dependency>
```
2. 创建流程定义文件,例如 bpmn 文件,并将其放置在 classpath 目录下。
3. 在 Spring Boot 应用中配置 Activiti 相关的 bean,如下所示:
```java
@Configuration
public class ActivitiConfig {
@Bean
public SpringProcessEngineConfiguration processEngineConfiguration(DataSource dataSource,
PlatformTransactionManager transactionManager,
SpringAsyncExecutor springAsyncExecutor) {
SpringProcessEngineConfiguration config = new SpringProcessEngineConfiguration();
config.setDataSource(dataSource);
config.setTransactionManager(transactionManager);
config.setAsyncExecutor(springAsyncExecutor);
config.setDeploymentResources(new Resource[]{new ClassPathResource("processes/myProcess.bpmn20.xml")});
config.setDbIdentityUsed(false);
return config;
}
@Bean
public ProcessEngine processEngine(SpringProcessEngineConfiguration processEngineConfiguration) {
return processEngineConfiguration.buildProcessEngine();
}
@Bean
public RepositoryService repositoryService(ProcessEngine processEngine) {
return processEngine.getRepositoryService();
}
@Bean
public RuntimeService runtimeService(ProcessEngine processEngine) {
return processEngine.getRuntimeService();
}
@Bean
public TaskService taskService(ProcessEngine processEngine) {
return processEngine.getTaskService();
}
}
```
4. 在代码中通过 Activiti 的 API 启动流程,如下所示:
```java
runtimeService.startProcessInstanceByKey("myProcess");
```
在运行过程中,可以使用 Activiti 的 API 查询和操作流程,例如查询任务列表、完成任务等。
阅读全文