关于如何集成大家可以看我之前博客,接下来给大家分享我所总结的自动部署流程的两种方法:
- 修改yaml文件关于activiti的配置

- 在SpringBoot项目启动的时候自动执行部署方法
1)要将yaml文件中的check-process-definitions(自动检查,部署流程定义文件)修改为false
2)新建实现类实现ApplicationRunner中run方法,并在类上方添加@Component注解
package com.komlin.controller;
import org.activiti.engine.RepositoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.stereotype.Component;
import java.io.IOException;
/**
* Description:部署流程图
* date: 2020/7/8 17:07
*
* @author mt
* @since JDK 1.8
*/
@Component
public class ApplicationRunnerImpl implements ApplicationRunner {
@Autowired
RepositoryService repositoryService;
@Override
public void run(ApplicationArguments args) throws Exception {
Resource[] resources = null;
try {
resources = new PathMatchingResourcePatternResolver().getResources("classpath:processes/*.bpmn");
} catch (IOException e) {
e.printStackTrace();
}
for (Resource r : resources) {
String addr = "processes/" + r.getFilename();
repositoryService.createDeployment().addClasspathResource(addr).deploy();
}
}
}
注:新建的流程图中的id一定要与流程图名称保持一致,不然扫描流程图会报错。。
本文分享了在SpringBoot项目中自动部署Activiti工作流的两种方法:一是修改yaml配置文件,关闭自动检查;二是创建ApplicationRunner实现类,在项目启动时自动部署流程定义文件。流程图ID须与名称一致。
2454

被折叠的 条评论
为什么被折叠?



