• 金仓数据库KingbaseES客户端编程开发框架-Activiti(4. SpringBoot整合Activiti配置说明)


    4. SpringBoot整合Activiti配置说明

    SpringBoot整合Activiti的包activiti-spring-boot-starter-basic中,未提供对参数databaseType的设置,所以需要对配置方式进行扩展。

    1. 在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;
        }
    
    }
    
    1. 新建一个类继承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;
            }
        }
    
    }
    
    1. 在SpringBoot的配置文件中,添加数据库类型的设置:

    spring.activiti.database-type=postgres
    

    注意

    使用KingbaseES适配Activiti时,如果使用PG形态的驱动,直接使用即可。如果使用KES形态的驱动,需要配置databaseType为postgres:

  • 相关阅读:
    关于React中的数据源绑定
    【RocketMQ】Dledger日志复制源码分析
    AUTOSAR从入门到精通番外篇(八)-C语言常用技巧50个
    分布式锁以及实现方式三种
    DDoS 攻击与防护(二):DDoS 防护购买和使用入门指南,DDoS 防护服务有哪些应用场景?
    某网站获取到正文内容
    【机器学习】04. 神经网络模型 MLPClassifier分类算法与MLPRegressor回归算法(代码注释,思路推导)
    Electron+Vue开源软件:洛雪音乐助手V2.8畅享海量免费歌曲
    关于 Cypress 的启动和 cy.visit 的调试
    lr_paramarr_len+ 取随机值 用法
  • 原文地址:https://blog.csdn.net/arthemis_14/article/details/126868065