1、配置文件中配置
flowable.datasource.type=com.zaxxer.hikari.HikariDataSource
flowable.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
flowable.datasource.url=jdbc:mysql://localhost:3306/myFlow?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&&nullCatalogMeansCurrent=false&allowMultiQueries=true&zeroDateTimeBehavior=CONVERT_TO_NULL
flowable.datasource.username=root
flowable.datasource.password=123456
2、数据库配置文件DatasourceConfigurator类
package com.zvos.zbom.console.flowable;
import org.flowable.common.engine.impl.AbstractEngineConfiguration;
import org.flowable.common.engine.impl.EngineConfigurator;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.stereotype.Component;
import javax.sql.DataSource;
@Component
public class DatasourceConfigurator implements EngineConfigurator {
@Value("${flowable.datasource.url}")
private String url;
@Value("${flowable.datasource.type}")
private Class<? extends DataSource> type;
@Value("${flowable.datasource.driver-class-name}")
private String driverClassName;
@Value("${flowable.datasource.username}")
private String username;
@Value("${flowable.datasource.password}")
private String password;
@Override
public void beforeInit(AbstractEngineConfiguration engineConfiguration) {
DataSource dataSource = DataSourceBuilder.create()
.type(type)
.driverClassName(driverClassName)
.url(url)
.username(username)
.password(password).build();
engineConfiguration.setDataSource(dataSource);
}
@Override
public void configure(AbstractEngineConfiguration engineConfiguration) {
}
@Override
public int getPriority() {
return 600000; // 保证该优先级最高
}
}
3、流程引擎配置文件类
package com.zvos.zbom.console.flowable;
import org.flowable.app.spring.SpringAppEngineConfiguration;
import org.flowable.spring.boot.EngineConfigurationConfigurer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
@Configuration
public class ProcessEngineConfig implements EngineConfigurationConfigurer<SpringAppEngineConfiguration> {
private DatasourceConfigurator datasourceConfigurator;
@Autowired
public void setDatasourceConfigurator(DatasourceConfigurator datasourceConfigurator) {
this.datasourceConfigurator = datasourceConfigurator;
}
@Override
public void configure(SpringAppEngineConfiguration engineConfiguration) {
engineConfiguration.addConfigurator(datasourceConfigurator);
}
}
此配置文件仅供参考,具体以公司项目为准!!!