flowable6.4 与springboot2 整合

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扫描。

  1. @MapperScan mybatis扫描的mapper接口
  2. 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表中得流程,之后动态修改流程可以参考

你可能感兴趣的:(flowable6.4 与springboot2 整合)