1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > activiti踩坑2-camunda-modeler设计器与activiti7不兼容

activiti踩坑2-camunda-modeler设计器与activiti7不兼容

时间:2023-06-08 08:16:31

相关推荐

activiti踩坑2-camunda-modeler设计器与activiti7不兼容

camunda-modeler设计的BPMN参数无效

<bpmn:userTask id="issue_contract_task" name="发起合同" camunda:candidateUsers="${signs}"><bpmn:extensionElements><camunda:properties><camunda:property name="companyId" value="${companyId}" /></camunda:properties></bpmn:extensionElements><bpmn:incoming>SequenceFlow_1nclnae</bpmn:incoming><bpmn:outgoing>SequenceFlow_13n4ysw</bpmn:outgoing></bpmn:userTask>

设计的${signs}${companyId}参数不生效。

解决方案

第一步:camunda: 替换为 activiti:第二步:添加activiti的头定义 :

<?xml version="1.0" encoding="UTF-8"?><bpmn:definitions xmlns:bpmn="/spec/BPMN/0524/MODEL" xmlns:bpmndi="/spec/BPMN/0524/DI"xmlns:dc="/spec/DD/0524/DC" xmlns:di="/spec/DD/0524/DI"xmlns:camunda="/schema/1.0/bpmn" xmlns:xsi="/2001/XMLSchema-instance"xmlns:activiti="/bpmn" xmlns:modeler="/schema/modeler/1.0" id="Definitions_03io3g1"targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="4.9.0"modeler:executionPlatform="Camunda Platform" modeler:executionPlatformVersion="7.15.0">

使用代码解决 :

@Test@Order(1)public void testDeployFormBPMNModel() throws UnsupportedEncodingException, XMLStreamException {File bpmnFile = new File("D:\\tools\\idea\\bpmn\\contract.flowlean.bpmn");Document xmlDoc = XmlUtil.readXML(bpmnFile);Element rootElement = XmlUtil.getRootElement(xmlDoc);rootElement.setAttribute("xmlns:activiti","/bpmn");rootElement.setAttribute("xmlns:modeler","/schema/modeler/1.0");rootElement.setAttribute("modeler:executionPlatform","Camunda Platform");rootElement.setAttribute("modeler:executionPlatformVersion","7.15.0");String xmlFileStr = XmlUtil.toStr(xmlDoc);xmlFileStr = xmlFileStr.replace("camunda:","activiti:");InputStream bpmnStream = new ByteArrayInputStream(xmlFileStr.getBytes());XMLInputFactory xif = XMLInputFactory.newInstance();InputStreamReader in = new InputStreamReader(bpmnStream, "UTF-8");XMLStreamReader xtr = xif.createXMLStreamReader(in);BpmnModel bpmnModel = new BpmnXMLConverter().convertToBpmnModel(xtr);RepositoryService repositoryService = processEngine.getRepositoryService();Deployment deployment = repositoryService.createDeployment().name("测试合同审批流程_"+ RandomUtil.randomString(5)).addBpmnModel("合同审签_model.bpmn",bpmnModel).key("contract_sign_flow_by_model_"+RandomUtil.randomString(5)).tenantId("T_"+System.currentTimeMillis()).deploy();log.info("流程部署ID : {} ,流程部署名称 : {} ,部署Key : {} ",deployment.getId(),deployment.getName(),deployment.getKey());log.info("流程部署{} ", JSON.toJSONString(deployment));}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。