1、整合遇到的问题
1.1 指定数据源
spring 中的流程定义:SpringProcessEngineConfiguration。工作流需要指定数据库,SpringProcessEngineConfiguration设置定义的数据源时,报错数据源重复定义,或者循环引用。结果发现不引用数据源,也可自动加载数据源。遗留一个问题,配置类中引用数据源,如何避免循环引用数据源?参照了多数据源配置,但是多数据源是在同一个配置类中。
1.2 flowable-engine-6.4.0.jar!/org/flowable/db/mapping/mappings.xml 报错空指针,未找到namespace。
配置mybatis不应该扫描flowable的mappings.xml,flowable会自动配置。但是若未限制mapper-locations,就有可能把flowable的mappings.xml扫描。
- @MapperScan mybatis扫描的mapper接口
- mapper-locations 配置扫描XML类
1.3 flowable6.4 与 springboot版本1升级2,数据越界问题。
ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
flowable6.2与springboot1,没有问题。但是flowable6.2与springboot2结合就出现数据越界异常。具体的异常要打异常断点,才能发现是具体是那个配置类异常。原因是2版本的类文件位置改变了,需要增加注解。或者升级了flowable6.4解决了问题。
@ConditionalOnClass(value = {SecurityAutoConfiguration.class})
1.4 创建数据库表
测试flowable6.2可以自动创建表,但是flowable6.4需要执行DbSchemaCreate类的main方法。或者org.flowable.idm.db.create 目录下的sql文件
1.5 启动后一直刷定时任务得SQL
文档上说明AsyncExecutorActivate默认false,但是没有还是开启了定时任务,手动关闭,有需要再开启
processEngineConfiguration.setAsyncExecutorActivate(false);
1.6 bpmn20,xml流程文件
启动时加载到了act_re_deployment主机表,和act_ge_bytearray表中得流程,之后动态修改流程可以参考