1.首先是maven添加依赖各种报错。

<!--https://mvnrepository.com/artifact/org.activiti/activiti-spring-boot-starter-basic--><dependency><groupId>org.activiti</groupId><artifactId>activiti-spring-boot-starter-basic</artifactId><version>5.22.0</version></dependency>

尝试数次,无效,改天再次尝试,成功。

2.后来使用5.17版本,成功

<dependency><groupId>org.activiti</groupId><artifactId>spring-boot-starter-basic</artifactId><version>5.17</version></dependency>

其中很多的架包无法直接引入,需要手动导入。详见手动导入maven架包。

5.17版本和mybitis3.25兼容,其他的版本都有问题,具体问题是sql会多出一个order by。最后还是使用5.22版本

3.环境搭建好之后,部署对应的activiti流程,activiti desingner在前面已经说过了。启动项目,对于.bpmn文件系统会帮你直接把流程自动发布出去。

4.spring boot 整合单元测试

@RunWith(SpringJUnit4Cla***unner.class)//SpringJUnit支持,由此引入Spring-Test框架支持!@SpringApplicationConfiguration(classes=Application.class)//指定我们SpringBoot工程的Application启动类@WebAppConfiguration//由于是Web项目,Junit需要模拟ServletContext,因此我们需要给我们的测试类加上@WebAppConfiguration。

5.后来项目发现,如果同一个实例,springboot无法在其他表空间创建25张表,使用加载activiti.cfg.xml的方式进行创建表。

<beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!--Activiti处理引擎的配置,交由Spring管理--><beanid="processEngineConfiguration"class="org.activiti.spring.SpringProcessEngineConfiguration"><!--配置数据源,和系统使用同一个数据源--><propertyname="dataSource"ref="dataSource"/><propertyname="databaseSchemaUpdate"value="true"/><propertyname="jobExecutorActivate"value="false"/><!--统一的事务管理--><propertyname="transactionManager"ref="transactionManager"/><propertyname="activityFontName"value="宋体"/><propertyname="labelFontName"value="宋体"/><propertyname="databaseSchema"value="ACT"/></bean><beanid="processEngine"class="org.activiti.spring.ProcessEngineFactoryBean"><propertyname="processEngineConfiguration"ref="processEngineConfiguration"/></bean><!--<beanid="testService2"class="com.imm.amo.controller.ActivitiTest"></bean>--></beans>packagecom.imm.config;importorg.springframework.context.annotation.Configuration;importorg.springframework.context.annotation.ImportResource;@Configuration@ImportResource(locations={"classpath:activiti.cfg.xml"})publicclassconfig{}

启动项目,创建activiti表。

但是因为使用了xml方式加载activiti,所以无法自动发布流程定义。固加载成功之后,去除@ImportResource即可。

springboot 整合activiti6案例:www.b123.com

6.删除activiti表时,注意要删除SEQUENCE ACT_EVT_LOG_SEQ。