4. SpringBoot整合Activiti配置说明
SpringBoot整合Activiti的包activiti-spring-boot-starter-basic中,未提供对参数databaseType的设置,所以需要对配置方式进行扩展。
在ActivitiDatasourceProperties.java中添加新增的配置参数:
package com.example.activiti.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@ConfigurationProperties(prefix = "spring.activiti")
@Component
public class ActivitiDatasourceProperties {
private String databaseType;
public String getDatabaseType() {
return databaseType;
}
public void setDatabaseType(String databaseType) {
this.databaseType = databaseType;
}
}
新建一个类继承AbstractProcessEngineAutoConfiguration类, 实现springProcessEngineConfiguration方法,在SpringProcessEngineConfiguration对象上设置需要新增的配置参数:
package com.example.activiti.config;
import java.io.IOException;
import javax.sql.DataSource;
import org.activiti.spring.SpringAsyncExecutor;
import org.activiti.spring.SpringProcessEngineConfiguration;
import org.activiti.spring.boot.AbstractProcessEngineAutoConfiguration;
import org.activiti.spring.boot.ActivitiProperties;
import org.activiti.spring.boot.JpaProcessEngineAutoConfiguration;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.PlatformTransactionManager;
@Configuration
@AutoConfigureAfter({ DataSourceAutoConfiguration.class })
@AutoConfigureBefore({ JpaProcessEngineAutoConfiguration.class })
public class ActivitiConfig {
@Configuration
@EnableConfigurationProperties({ ActivitiProperties.class })
public static class ActivitiConfiguration extends AbstractProcessEngineAutoConfiguration {
private ActivitiDatasourceProperties activitiDatasourceProperties;
public ActivitiDatasourceProperties getActivitiDatasourceProperties() {
return activitiDatasourceProperties;
}
@Autowired
public void setActivitiDatasourceProperties(
ActivitiDatasourceProperties activitiDatasourceProperties) {
this.activitiDatasourceProperties = activitiDatasourceProperties;
}
@Bean
@ConditionalOnMissingBean
public SpringProcessEngineConfiguration springProcessEngineConfiguration(DataSource dataSource,
PlatformTransactionManager transactionManager, SpringAsyncExecutor springAsyncExecutor)
throws IOException {
SpringProcessEngineConfiguration config = baseSpringProcessEngineConfiguration(dataSource,
transactionManager, springAsyncExecutor);
config.setDatabaseType(this.activitiDatasourceProperties.getDatabaseType());
return config;
}
}
}
在SpringBoot的配置文件中,添加数据库类型的设置:
spring.activiti.database-type=postgres
注意
使用KingbaseES适配Activiti时,如果使用PG形态的驱动,直接使用即可。如果使用KES形态的驱动,需要配置databaseType为postgres:
<property name="databaseType" value="postgres"></property>
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




