activiti流程图部署后丢失multiInstanceLoopCharacteristics 属性问题

在将自定义的前端会签流程部署到Activiti时,发现并行标志在部署后消失。问题源于在将BpmnModel转换为XML时,缺少了multiInstanceLoopCharacteristics属性。通过手动添加activiti:collection属性,解决了会签条件未设置导致的问题,确认问题出在前端定制流程的会签配置未正确传递到后端。
摘要由CSDN通过智能技术生成

做会签相关流程,发现明明设置的并行,但是部署后,下次再打开并行标志没有了;

去检查了下ACT_GE_BYTEARRAY字段BYTES_  ,导出来看了下确实没有 multiInstanceLoopCharacteristics,那肯定是存进去的时候 就丢失了。

再排查部署过程

前端的 String xml  转成 BpmnModel bpmnModel-- 这个时候是没问题
BpmnModel bpmnModel 再转Model model  --也没问题
DeploymentBuilder builder=repositoryService.createDeployment();
builder.addBpmnModel(bpmnModel.getMainProcess().getId().concat(".bpmn"), bpmnModel);//就是这一步里出的问题
builder.key(bpmnModel.getMainProcess().getId());
builder.name(bpmnModel.getProcesses().get(0).getName());
Deployment deploy=builder.deploy();

再去细节里去看的时候能发现 
    public DeploymentBuilder addBpmnModel(String resourceName, BpmnModel bpmnModel) {
        BpmnXMLConverter bpmnXMLConverter = new BpmnXMLConverter();

        try {
            String bpmn20Xml = new String(bpmnXMLConverter.convertToXML(bpmnModel), "UTF-8");// 就是这个里面出的问题
            this.addString(resourceName, bpmn20Xml);
            return this;
        } catch (UnsupportedEncodingException var5) {
            throw new ActivitiException("Error while transforming BPMN model to xml: not UTF-8 encoded", var5);
        }
    }    

 看了下转换的代码版本activiti-bpmn-converter   version=7.1.0.M6 和activiti是匹配的,先不管了

手动重写处理 发现又报错org.activiti.engine.ActivitiException: Errors while parsing:
[Validation set: 'activiti-executable-process' | Problem: 'activiti-multi-instance-missing-collection'] : Either loopCardinality or loopDataInputRef/activiti:collection must been set - [Extra info : processDefinitionId = 

这时候才想到可能是少属性,果然手动补了个activiti:collection  就好用了,流程绘制功能是手写的前端,做了深入订制,改成会签执行后,没有设置匹配的会签条件,后端部署的时候,自动给过滤掉了这个有问题的会签配置。所以问题还是自己疏忽

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值