Activiti如何替换已部署流程图

  首先交代下背景:我们有一个已经上线的activiti工作流系统,对于流程图的操作已经封装好部署,查看,删除的接口。此时客户提出要修改个别流程图里的节点名称。

  我的第一个想法就是本地修改流程图bpmn文件,然后去客户端先调用删除接口删除旧流程图,然后调用部署接口添加修改后的流程图,然而事实上,因为系统已经上线,此时存在大量运行中的工作流数据,一旦执行删除操作,删除流程图的同时,会把相关的工作流数据全部清空。

  我的第二个想法是,在客户端保存流程图的地方直接修改节点名称。结果找了一下发现activiti的流程图是以二进制代码的形式保存在数据库里的,这也不是说就一定不能改,但是肯定不好改。

  最终的做法:

  观察数据库结构得知,流程图name_、key_等字符型属性保存在表ACT_RE_PROCDEF里,而bpmn、png等文件属性保存在表ACT_GE_BYTEARRAY里,两张表通过DEPLOYMENT_ID_列进行一对多关联。

  所以,可以将修改后的新流程图直接用部署接口添加上,将旧流程图的ACT_GE_BYTEARRAY表数据删除,将新流程图的ACT_RE_PROCDEF表数据删除,然后将新流程图的ACT_GE_BYTEARRAY表数据里的DEPLOYMENT_ID_修改成旧流程图ACT_RE_PROCDEF表数据的DEPLOYMENT_ID_,完成。

时间: 2024-12-25 20:27:08

Activiti如何替换已部署流程图的相关文章

一款基于SSM框架技术的全栈Java web项目(已部署可直接体验)

概述 此项目基于SSM框架技术的Java Web项目,是全栈项目,涉及前端.后端.插件.上线部署等各个板块,项目所有的代码都是自己编码所得,每一步.部分都有清晰的注释,完全不用担心代码混乱,可以轻松.简单.放心全面学习(也不需要版本控制配置).下载后遇到任何问题,我将全力进行解答. 此项目:快编(kuaib)是一款方便快速全能的编辑系统,竭尽全力地将编写.查找.比对.修改.文件下载.上传.查重等所有功能整合于单个页面操作综合操作系统.--另外,此项目已部署:http://yws233.cn:80

Activiti Linux部署流程图出现乱码

前段时间使用Activiti在本机以及window环境下测试发现流程图正常显示,在linux下汉字变成了小方块. 经网上查找资料: 发现自己的京东云未安装中文字体,由于本人系统activiti配置文件设置的"宋体",因此需在window系统中找到宋体字体复制到linux系统中进行安装. 1,进入C:\Windows\Fonts,找到"宋体 常规"文件simsun.ttc 2,进入cd /usr/java/jdk1.7.0_79/jre/lib/fonts,新建fal

使用变量替换批量部署GoldenGate

GoldenGate运行时允许在参数文件中动态指定一个值,即在参数文件中使用一个变量,而不是一个静态的值,当启动OGG进程时,根据环境动态加载此变量的值,达到在不同环境中,通过变量定义,实现多个环境的相同配置部署.对于一对多或多对一的场景,此配置可以降低维护的复杂性. 如下,是一个标准的data pump参数设置: extract peast rmthost oelora114, mgrport 15051 rmttrail ./dirdat/pe passthru table east.*;

activiti笔记四 关于部署信息表act_re_deployment

一.简要描述 部署流程定义时需要被持久化保存下来的信息.二.表结构说明 字段名称 字段描述 数据类型 主键 为空 取值说明 ID_ ID_ nvarchar(64) √ 主键ID NAME_ 部署名称 nvarchar(255) √ 部署文件名 CATEGORY_ 分类 nvarchar(255) √ 类别 DEPLOY_TIME_ 部署时间 datetime √ 部署时间 三.表中NAME_字段说明: 1,如果流程定义文件在程序中启动,表中的NAME_字段为NULL: 2,如果流程定义文件在s

jQuery替换已存在于元素element上的事件event

<html><head><script type="text/javascript" src="/jquery/jquery.js"></script><script type="text/javascript"> function test(){alert('这是测试方法');} function newFun(msg) { alert('这是新方法,参数是:'+msg); } //实

替换已xx开头已yy结尾的正则

网站被挂马了 ,挂马的形式千奇百怪 <SCRIPT Language=VBScript><!--DropFileName = "svchost.exe"WriteData = "4D5A90000300000004000000FFFF0000B8000000000000004000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000

关于已部署的服务升级的问题

在日常的开发过程中,我们会经常迭代发布不同的版本,所以WCF服务的接口也会经常处于变动的状态,比如在传递实体类中新加一个字段.修改参数名称等等关于服务升级的问题.但是我们不可能让已发布的版本重新引用新的服务,这是不现实的,所以我们在升级WCF服务时,一定要让服务兼容以前的版本.现在我们分别介绍关于服务升级的几个常用情况. 一.参数变动 我们来实现最初的版本1.0,新建一个服务接口,服务实现很简单,在Output窗口中简单输出服务接收到的参数值. [ServiceContract] public

如何将已部署在ASM的资源迁移到ARM中

使用过Azure的读者都知道,Azure向客户提供了两个管理portal,一个是ASM,一个是ARM,虽然Azure官方没有宣布说淘汰ASM,两个portal可能会在很长的一段时间共存,但是考虑到ARM提供了更多的功能,只有很少部分工作才会用到powershell完成,所以笔者建议以后大家尽量使用ARM,但是对于哪些已经使用ASM作为生产环境的用户想迁移到ARM中,应该怎么办,今天笔者就像大家介绍一下如何将云资源从ASM迁移到ARM中!!! 首先介绍一下现在迁移可以使用的一些服务与工具 1.平台

Tomcat部署Web应用方面的一些问题(多Tomcat、指定Java、字节码替换)

这篇博文操作的系统环境为CentOS系统,目标是在该系统中部署一个Tomcat以及跑在该Tomcat上的一个Java Web应用.部署的系统环境有限制,主要表现在:该主机上已部署Tomcat,新部署的Tomcat应不影响原Tomcat及相应应用的访问:此外,系统上已安装某一版本的Java,已设置JAVA_HOME等环境变量,而当前应用依赖另一版本的Java, 因此需要在不影响原应用.环境变量配置的基础上解决依赖问题. Tomcat安装 安装前需准备好Java环境,配置好JAVA_HOME环境变量