Activiti-SpringBoot集成环境搭建

时间:2024-03-19 11:43:55

1、搭建环境

JDK1.8+SpingBoot+MyBatis+Activiti

2、搭建步骤(只介绍关键点,具体可下载资源中的代码)

1)pom.xml文件:

Activiti-SpringBoot集成环境搭建

主要有效信息都在dependency中。其中spring-boot-starter为我们在SpringBoot下使用Activiti做了以下这样的配置:

  • 自动创建Activiti ProcessEngine的Bean
  • 所有的Activiti Service都被自动注册成Spring的Bean
  • 创建一个Spring Job Executor
  • 会自动扫描位于src/main/resource/processess目录下的流程处理文件(.bpmn)

2)、项目目录结构:

Activiti-SpringBoot集成环境搭建

SpringBoot项目的目录结构大概如上图所示

  • 会有一个启动类DemoApplication,里面一个main方法用来执行启动该应用。
  • 在resource下会有两个自带的文件夹,一个叫做template(用来存放html页面),一个static(用来存放静态资源,比如js、css)当然这是SpringBoot推荐的做法
  • resource下有一个叫做application.properties的配置文件,这个文件是在应用启动时默认读取加载的。

application.properties文件的配置:

Activiti-SpringBoot集成环境搭建

注:spring.activiti.check-process-definitions=false//这个需要指定为false或者是要注释掉,它的意思是在启动应用时是否扫描processes下的流程文件,指定为false即为不扫描。

3)部分核心代码

SpringBoot启动类:

Activiti-SpringBoot集成环境搭建

注意事项:

1、注意activiti-spring-boot-starter-basic的版本号,推荐使用5.21.0。如果使用的5.17的版本,在启动流程的时候,不会自动帮你部署,因此在这之前需要自己手动的部署一次。5.21.0版本的话就不会出现这个问题。

2、注意启动流程引擎的时候传入的key要和流程配置文件中的id保持一致。

Activiti-SpringBoot集成环境搭建

Activiti-SpringBoot集成环境搭建

Activiti-SpringBoot集成环境搭建

手动部署核心代码:

//需要一个RepositoryService实例去调用方法,读取类路径下processes目录下面的MyProcess.bpmn文件,进行部署。

@Resource

RepositoryService repositoryService;

repositoryService.createDeployment().name("qjlc111").addClasspathResource("processes/MyProcess.bpmn").deploy();