activiti部署时json与XML与BpmnModel之间的相互转换

本文介绍了在Activiti流程引擎中,如何处理JSON和XML之间的转换,以及它们与BpmnModel的关系。在使用Activiti自带设计器时,保存的模型以JSON和SVG形式存在,而引擎需要的是符合bpmn2.0规范的XML。部署时,需要将JSON转换为BpmnModel,然后转换为XML存储。后续部署则直接从XML恢复到BpmnModel。文章还提到,如果不使用内置设计器,可以考虑使用能直接生成XML的插件或自建设计器。此外,提供了将XML转换回JSON的方法,以支持设计器的图形渲染。
摘要由CSDN通过智能技术生成

如果使用的是activiti自带的前端设计器,画完图保存model时会生成两个主要参数,一个是json.xml【json串】,一个是svg.xml,一个是数据,一个是图片,样板参见:

链接:https://share.weiyun.com/XgJg85XC 密码:88e79q

那么保存的时候是json串,引擎认识的却是符合bpmn2.0规范的xml,所以在首次的部署的时候要将json串转换为BpmnModel,再将BpmnModel转换成xml保存进数据库,以后每次使用就直接将xml转换成BpmnModel,这套操作确实有点啰嗦,实际项目中如果不用activiti自带的设计器,可以考虑用插件,直接生成的是xml,或者自己开发设计器,在后端生成节点及其属性,引擎有现成的节点实体,如:开始节点StartEvent,线SequenceFlow等。

Model modelData = repositoryService.getModel(modelId);
ObjectNode modelNode = (ObjectNode) new ObjectMapper().readTree(repositoryService.getModelEditorSource(modelData.getId()));// readTree(这里面是json)
BpmnModel model = new BpmnJso
  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值