首页 > 数据库 >工作流Activiti7适配人大金仓数据库

工作流Activiti7适配人大金仓数据库

时间:2023-09-28 12:13:42浏览次数:51  
标签:engine 金仓 kingbase8 activiti 适配 数据库 kingbase Activiti7 spring

参考https://blog.csdn.net/qq_43617977/article/details/128099822
参考https://help.kingbase.com.cn/v8/development/client-interfaces-frame/activiti/index.html
参考https://blog.csdn.net/weixin_39827145/article/details/106664921
activiti依赖是
<dependency>
<groupId>org.activiti.dependencies</groupId>
<artifactId>activiti-dependencies</artifactId>
<version>7.1.0.M2</version>
<scope>import</scope>
<type>pom</type>
</dependency>
金仓数据库依赖是
<dependency>
<groupId>com.kingbase8</groupId>
<artifactId>kingbase8</artifactId>
<scope>system</scope>
<version>8.6.0</version>
<systemPath>${basedir}\src\lib\kingbase8-8.6.0.jar</systemPath>
</dependency>
修改activiti-engine-7.1.0.M2.jar,以适配金仓数据库
1、下载源码activiti-engine-7.1.0.M2-sources.jar,解压后只保留org源码包和里面的pom.xml文件,用idea打开项目
2、进行部分源码修改(添加国产数据库类型)
a.修改三个类在org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl,增加成员变量 <504行>
b.修改org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl类的getDefaultDatabaseTypeMappings()方法 <758行>
c.修改org.activiti.engine.impl.AbstractQuery类的addOrder(String column, String sortOrder, NullHandlingOnOrder nullHandlingOnOrder)方法 <147行>
d.在create文件夹下创建数据库表相关的文件activiti.kingbase.create.engine.sql
在create文件夹下创建数据库表相关的文件activiti.kingbase.create.history.sql
在drop目录中创建删除数据库表的文件 activiti.kingbase.drop.engine.sql
在drop目录中创建删除数据库表的文件 activiti.kingbase.drop.history.sql
e.在properties目录中追加人大金仓数据库配置文件kingbase.properties,如果缺少该文件,启动项目时会报异常
3、替换activiti-engine-7.1.0.M2.jar相应的class和sql等文件,项目中使用本地方式引入jar包依赖
4、如果运行项目提示org.activiti.engine.ActivitiException: couldn't deduct database type from database product name 'KingbaseES'
第2部的b点需要使用databaseTypeMappings.setProperty("KingbaseES", "kingbase"),而不是databaseTypeMappings.setProperty("kingbase", "kingbase")
5、数据库源配置添加如下配置:
spring.activiti.database-type=kingbase
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:kingbase8://*.*.*.*:54321/db
spring.datasource.username=flow
spring.datasource.password=flow@2023
spring.datasource.driver-class-name=com.kingbase8.Driver
spring.datasource.druid.driver-class-name=com.kingbase8.Driver

标签:engine,金仓,kingbase8,activiti,适配,数据库,kingbase,Activiti7,spring
From: https://www.cnblogs.com/youngremus/p/17735460.html

相关文章

  • 506_杂牌手柄游戏不适配?Steam这项功能其实就能解决
    这是一篇原发布于2020-03-2812:37:00得益小站的文章,备份在此处。前言市场上游戏手柄虽多,但PC游戏中做到能够适配的似乎也只有Xbox、PS、SwitchPro等大厂发布的手柄。即使游戏中有着手柄按键设置,但无法完美显示XYAB键、按键命名混乱一直是游戏玩家的硬伤。配置效果对比轶哥测......
  • 设计模式——适配器模式
    一、介绍适配器模式主要是为了解决系统中两个接口实现某个或某类功能但又不兼容的问题,比如国内居民用电电压是220V,手机充电输入电压是5V,在给手机充电时需要将220V电压转换为5V,这个转换装置就可以理解为适配器,软件编程中有时也需要用到这种思想,解决这类问题就需要用到适配器模式。......
  • c#中适配器模式详解
    基础介绍:  想象这样一个场景,原项目中接口返回的数据是XML格式的数据,但现在来了一个新客户,它期望接口返回的数据类型为json格式的。  想要实现要么就是改原有接口,但这样就违反了开闭原则,容易出现未知bug,影响到老客户的正常使用。  而如果写一个适配器类也就是转换类(第三方......
  • Activiti7进阶
    一、流程实例什么是流程实例流程实例(ProcessInstance)代表流程定义的执行实例。一个流程实例包括了所有的运行节点。我们可以利用这个对象来了解当前流程实例的进度等信息。例如:用户或程序按照流程定义内容发起一个流程,这就是一个流程实例。流程定义和流程实例的图解:启动流......
  • Glide源码阅读之适配器模式【ArrayAdapterInterface<T>】
    定义菜鸟教程介绍意图:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。主要解决:主要解决在软件系统中,常常要将一些"现存的对象"放到新的环境中,而新环境要求的接口是现对象不能满足的。何时使用:1、系统需要使......
  • 设计模式(六)适配器
    一、定义将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作。适配器模式是一种结构型模式。二、描述包含以下三个角色:1、Target(目标抽象类):目标抽象类定义了客户所需要的接口,可以是一个抽象类或接口,也可以是一个具体的类,由于C#不支持多继......
  • KingbaseES数据库适配Activiti7 didn't put process definition问题处理过程
    一、Activiti介绍Activiti是一个轻量级的java开源BPMN2工作流引擎.目前以升级至7.x,支持与springboot2.x集成.二、项目环境SpringBoot版本2.2.5Activiti版本7.1.x源数据库:MySQL5.7目标数据库:KinbgaseESV008R006C007B0024JDBC驱动:Postgre形态的JDBC驱动,postgresql-42.......
  • 人大金仓数据库创建与还原--九五小庞
    1.创建用户CREATEUSERpxyCONNECTIONLIMIT-1PASSWORD'123456';2.给用户授权ALTERUSERpxySUPERUSER;ALTERUSERpxyCREATEDB;ALTERUSERpxyCREATEROLE;ALTERUSERpxyLOGIN;ALTERUSERpxyREPLICATION;3.创建库createdatabaselabplatformwithow......
  • 银河麒麟操作系统安装人大金仓数据库--九五小庞
    一、环境要求硬件:内存512M以上,磁盘空间10G以上软件:主流Linux操作系统,本机使用kylin-v10安装包准备:官网下载数据库文件镜像以及授权文件https://www.kingbase.com.cn/rjcxxz/index.htm 二、配置内核参数vim/etc/sysctl.conf#加入以下行fs.aio-max-nr=1048576fs.f......
  • OpenCloudOS + 英特尔第四代至强处理器:完美适配,加速未来
    作为连接底层硬件和上层工作负载的桥梁,操作系统是发挥硬件潜能、保障业务质量的技术底座。自从OpenCloudOSIntelSIG成立后,社区和英特尔就将第四代至强可扩展处理器(SapphireRapids,简称为SPR)与OpenCloudOS的适配作为IntelSIG的首要工作。通过双方的深度合作,反复打磨,Ope......