activiti7.0集成人大金仓数据库

说明

人大金仓数据库和mysql数据库比较相似,部分语法也类似。activiti中默认集成的是mysql数据源,而且并没有集成过人大金仓数据库。所以想要集成人大金仓数据库就要将该类的的数据源配置到其中去。这里的思路就是在流程引擎初始化数据库datasource的时候将配置文件重写。在工作流源码中我们不难看出:SpringProcessEngineConfiguration是处理工作流引擎的配置类,所以我们将AbstractProcessEngineAutoConfiguration中的ActivitiDatasourceProperties重写即可。

附录:传送门----人大金仓数据库和mysql的语法。

1、pom文件

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>
<!-- 工作流集成springboot基础包 --><dependency><groupId>org.activiti</groupId><artifactId>activiti-spring-boot-starter</artifactId><version>7.1.0.M4</version></dependency>
<!-- 工作流生成流程图片支持包 --><dependency><groupId>org.activiti</groupId><artifactId>activiti-image-generator</artifactId><version>7.1.0.M4</version></dependency>
<!-- 人大金仓驱动和数据库包 --><dependency><groupId>org.postgresql</groupId><artifactId>postgresql</artifactId><version>42.2.9</version></dependency><dependency><groupId>cn.com.kingbase</groupId><artifactId>kingbase8</artifactId><version>8.6.0</version></dependency><!-- 阿里 druid 数据源 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.3</version></dependency>
<!-- 配置文件支撑包 --><dependency><groupId>org.activiti</groupId><artifactId>activiti-spring-boot-starter-basic</artifactId><version>6.0.0</version></dependency>

2、application.yml

spring:datasource:url: jdbc:kingbase8://127.0.0.1:54321/activiti_test?characterEncoding=UTF-8&serverTimezone=GMT%2B8username: activitipassword: 123456driver-class-name: com.kingbase8.Drivertype: com.alibaba.druid.pool.DruidDataSourcedruid:driver-class-name: com.kingbase8.Drivertest-while-idle: falsevalidation-query: select 1
#重要配置activiti:database-type: postgresdatabase-schema: publicdatabase-schema-update: true   db-history-used: true  history-level: full   application:name: activiti_demomain:allow-bean-definition-overriding: true
#分页支持
pagehelper:helperDialect: postgresql
logging:level:org.activiti.engine.impl.persistence.entity: debug

3、配置类ActivitiConfig和ActivitiDatasourceProperties

@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;}@Autowiredpublic void setActivitiDatasourceProperties(ActivitiDatasourceProperties activitiDatasourceProperties) {this.activitiDatasourceProperties = activitiDatasourceProperties;}@Bean@ConditionalOnMissingBeanpublic SpringProcessEngineConfiguration springProcessEngineConfiguration(DataSource dataSource,PlatformTransactionManager transactionManager, SpringAsyncExecutor springAsyncExecutor)throws IOException {SpringProcessEngineConfiguration config = baseSpringProcessEngineConfiguration(dataSource,transactionManager, springAsyncExecutor);return config;}//重新构造数据源private SpringProcessEngineConfiguration baseSpringProcessEngineConfiguration(DataSource dataSource, PlatformTransactionManager transactionManager, SpringAsyncExecutor springAsyncExecutor) {SpringProcessEngineConfiguration config = new SpringProcessEngineConfiguration();config.setDataSource(dataSource);config.setTransactionManager(transactionManager);config.setAsyncExecutor(springAsyncExecutor);config.setDatabaseType(this.activitiDatasourceProperties.getDatabaseType());config.setDatabaseSchemaUpdate("true");config.setAsyncExecutorActivate(false);config.setAsyncExecutorCorePoolSize(1);config.setAsyncExecutorMaxPoolSize(1);return config;}}}
@ConfigurationProperties(prefix = "spring.activiti")
@Component
public class ActivitiDatasourceProperties {private String databaseType;public String getDatabaseType() {return databaseType;}public void setDatabaseType(String databaseType) {this.databaseType = databaseType;}
}```

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/818532.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

对中小企业来说,一次的勒索事件有可能造成致命的伤害

勒索攻击越来越频繁 去年的勒索事件数据呈现出显著的增长趋势。具体来说&#xff0c;全球范围内的勒索软件攻击活动愈演愈烈&#xff0c;受害者数量创下历史新高&#xff0c;同比增长了46%。 例如&#xff0c;2023年伊始&#xff0c;英国皇家邮政成为了勒索团伙LockBit的大型…

QT 使用redis ,连接并使用

一.redis安装 链接&#xff1a;https://pan.baidu.com/s/17fXKOj5M4VIypR0y5_xtHw 提取码&#xff1a;1234 1.下载得到文件夹如图 course_redis为安装包。 2.启动Redis服务 把安装包解压到某个路径下即可。 打开cmd窗口&#xff0c;切换到Redis安装路径&#xff0c;输入 r…

LLM激活稀疏性加速

相关工作 Deja vu Contextual sparsity for efficient llms at inference time LLM in a flash Efficient Large Language Model Inference with Limited Memory ReLU Strikes Back Exploiting Activation Sparsity in Large Language Models ReLU2 Wins: Discovering Effi…

量子飞跃:从根本上改变复杂问题的解决方式

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 编辑丨王珩 编译/排版丨沛贤 深度好文&#xff1a;1000字丨5分钟阅读 利用多功能量子比特的量子计算机已处于解决复杂优化问题的最前沿&#xff0c;例如旅行商问题&#xff0c;这是一个典型的…

GRU之我见(含案例讲解)

GRU&#xff08;Gated Recurrent Unit&#xff09;是一种常用于处理序列数据的深度学习模型&#xff0c;特别是在自然语言处理&#xff08;NLP&#xff09;和时间序列分析领域。它是一种循环神经网络&#xff08;RNN&#xff09;的变种&#xff0c;旨在解决长期依赖和梯度消失问…

torch.where()中并行方式的实现

torch.where()中一般有三个参数。 第一个参数是一个判断条件。 第二个参数是条件成立时的值。 第三个参数是条件不成立时的值。 for batch in range(2):for i in range(256):for j in range(256):output[batch][i][j] 0 if tensor_count_0[A_arg[batch,i,j]][B_arg[batch,i…

MATLAB利用A星/A*算法求障碍地图两点最短路径

MATLAB利用A星/A*算法求障碍地图两点最短路径 MATLAB利用A星/A*算法求障碍地图两点最短路径

大模型日报2024-04-12

大模型日报 2024-04-12 大模型资讯 Meta即将发布具有“人类水平认知”的AI模型 摘要: Meta公司宣称即将推出具备“人类水平认知”的人工智能模型。这标志着我们可能即将进入一个全新的大型语言模型和聊天机器人领域。Meta的Llama 3和OpenAI的GPT-5将为这一领域带来革命性的进展…

前端-每天一道面试题(1)-HTML常见的布局方式

哈喽&#xff0c;大家好&#xff0c;本来今天要更新项目内容的&#xff0c;但是考虑到由于是全国大学生服务外包大赛组委会的题目&#xff0c;而且比赛目前也正在进行&#xff0c;作品提交尚未截止&#xff0c;为了避免由于试题版权而引发的一系列问题&#xff0c;这个系列目前…

10、【代理模式】通过引入一个代理对象来控制对原始对象的访问的方式。

你好&#xff0c;我是程序员雪球。 今天我们了解代理模式的原理、静态代理和动态代理的区别、Spring AOP 和动态代理的关系、代理模式的使用场景&#xff0c;以及用 Java 实现一个动态代理示例 一、代理模式的原理 代理模式是一种设计模式&#xff0c;它提供了一种通过引入一个…

概念:CPU、内存、磁盘、Android内存分配

cpu CPU的全称是Central Processing Unit&#xff0c;中文名称为中央处理单元。它是计算机硬件的核心部件&#xff0c;负责解释计算机程序指令并处理计算机软件中的数据。简言之&#xff0c;CPU执行计算机程序中的操作指令&#xff0c;包括基本算术、逻辑、控制和输入/输出&am…

手把手带你搞懂电压跌落测试DIP

针对很多入门小白不懂元器件&#xff0c;一些老工程师上班很多年有的也不懂得总结知识点&#xff0c;以及想学习不知道怎么系统学习的这一类人群&#xff0c;前方知识点来袭&#xff0c;请君放心食用~ 一&#xff0c;项目背景介绍 最近做项目过程中&#xff0c;客户要求要做电…

wps使用Latex编辑公式没有Latex formula

wps使用Latex编辑公式没有Latex formula 1. 下载CTEX2. 下载LaTeXEE3. 配置Miktex4. 配置latexee5. 用管理员权限运行latexeqedit.exe6. wps插入latex公式 1. 下载CTEX 下载CTEX网址&#xff0c;我下载的下图这个&#xff0c;下载完了之后运行exe文件安装ctex。 2. 下载LaTe…

【Entity Framework】你要知道EF中功能序列与值转换

【Entity Framework】你要知道EF中功能序列与值转换 文章目录 【Entity Framework】你要知道EF中功能序列与值转换一、序列1.1 基本用法1.2 配置序列设置 二、值转换2.1 配置值转换器2.2 批量配置值转换器2.3 预定义的转换2.4 ValueConverter类2.5 内置转换器 三、应用3.1 简单…

Java中的TCP通信

TCP通信 TCP通信Socket客户端ServerSocket服务端 例子&#xff1a;一发一收例子&#xff1a;多发多收异常捕获 例子&#xff1a;服务器与多个客户端同时通信多客户端通信架构服务端代码ServerReaderThread 服务端读数据线程 TCP通信 特点&#xff1a;面向连接、可靠通信 通信双…

动态数据源实现分表走shardingsphere,不分表走其他

shardingsphere从4.1.1升级到5.2.1但是还没有完结&#xff0c;因为在执行存储过程的时候&#xff0c;系统提示错误如下。shardingsphere是不支持存储过程呢&#xff0c;但项目中不能避免使用存储过程&#xff0c;因为有大量的数据需要初始化&#xff0c;这种情况该如何应对&…

韩顺平Java | C25 JDBC和连接池(下)

JDBCUtils工具类 ※事物 批处理 ※连接池 DataSource DBCP C3P0 Proxool BoneCP ※Druid Apache-DBUtils DAO增删改查-BasicDao

AI绘梦师新项目歪门邪道2.0游戏玩法,仅需拷贝,一键生成,单日盈利500

我们今天要介绍的项目是“AI绘梦师新项目歪门邪道2.0游戏玩法”。这个项目的核心是利用AI技术帮助企业将用户的梦境转化为美术作品。操作起来非常简单&#xff0c;只需复制用户描述的梦境内容&#xff0c;然后将其输入到AI绘画软件中&#xff0c;软件就能自动生成相应的画作。 …

APP开发突增20倍!安卓和鸿蒙你站哪边?

随着科技的快速发展&#xff0c;智能设备已经成为我们生活中不可或缺的一部分。 根据不少业内人士爆料&#xff0c;今年9月华为将发布mate70系列&#xff0c;而同时华为自己也官宣了"鸿蒙星河版"&#xff0c;也就是原生鸿蒙系统&#xff0c;将于今年4季度商用。这很…

顶顶通呼叫中心中间件-SIP分机安全(mod_cti基于FreeSWITCH)

介绍 运行在公网的FreeSWITCH服务器&#xff0c;每天都会接收到很多恶意的呼叫请求和注册请求&#xff0c;尝试盗打电话。合理的配置可以防止电话给倒打&#xff0c;但是每天大量的攻击&#xff0c;会让FS产生很多日志&#xff0c;降低FreeSWITCH的处理能力&#xff0c;cti模块…