flowable数据库配置

发布于:2024-04-15 ⋅ 阅读:(116) ⋅ 点赞:(0)

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);
    }
    
}

此配置文件仅供参考,具体以公司项目为准!!!