Activiti实现流程定义的控制与修改

本文介绍了如何在Activiti中不发布新版本就能修改流程定义的XML。通过操作数据库表ACT_GE_BYTEARRAY更新流程定义内容,实现了对已部署流程定义的动态调整,例如改变分支节点的条件。文章提供了一个具体的实现示例,包括修改流程、更新数据库和测试方法。
摘要由CSDN通过智能技术生成

Activiti提供的流程定义是基于XML的,一旦发布完成后,若想对流程定义实现更改,只有一种办法,就是重新发布新的版本,但有时,我们需要的是不让他发行新版本,只是希望修改其原来的Xml,如我们对分支节点进行条件设置。

此文章借鉴了http://redxun.iteye.com/blog/2253074这篇博主的文章,但是他的方法并不能完全实现对流程的修改。在此,我经过改造现将实现过程写下:

直接实现实现对流程定义的XML实现读写。只需要拿到流程定义的deployId或definitionId,通过对其act_ge_bytearray表实现更改,其定义内容存放于bytes_字段中。

我们提供了对定义Xml文件的更改方法:

private String modifyDeployId(Document doc) {
// TODO 手动修改流程定义

String deploymentId=Xml2Bean.selectElementText(doc, "//ContractRoot/SvcCont/ReqInfo/deploymentId");
String actDefId = Xml2Bean.selectElementText(doc, "//ContractRoot/SvcCont/ReqInfo/actDefId");

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值