创建流程实例时 act_ru_identitylink 表中没有出现相关的人员数据
来源:4-6 流程实例ProcessInstance

leslie1996
2021-01-09
老师您好,我对流程实例有两个问题:
- 创建流程实例的方法,视频中给出的是
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("Process_1", "business_id");
请问这个方法和如下所示的方法有什么区别嘛
ProcessInstance processInstance = runtimeService.createProcessInstanceBuilder()
.processDefinitionKey("Process_1")
.businessKey("business_id")
.start();
- 在执行上述代码创建流程实例时,act_ru_identitylink 中没有生成 bpmn 文件中指定的 user_task 的人员数据,请问老师这个数据是否与数据库选型及老师提供的 user 表有关。我使用的是 PostgreSQL 数据库 activiti 版本是 7.1.0.M6,无论是否创建 user 表,这里都没有生成人员数据,还是我创建的 bpmn 文件是有问题的,因为我 idea 版本不兼容课程中提到的插件,我下载了一个 “Camunda Modeler” 的软件用来绘制 bpmn,创建流程实例时,act_ru_task 和 act_ru_executioin 都可以正常生成数据,只有 act_ru_identitylink 没按照视频中所预期的生成数据。下面是我 bpmn 文件的 xml 麻烦老师帮忙定位一下问题,谢谢。
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_078izda" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="4.4.0">
<bpmn:process id="Process_1" name="流程定义" isExecutable="true">
<bpmn:startEvent id="StartEvent_1">
<bpmn:outgoing>Flow_1wk41cc</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:sequenceFlow id="Flow_1wk41cc" sourceRef="StartEvent_1" targetRef="Activity_18xsp7z" />
<bpmn:endEvent id="Event_1es5pkq">
<bpmn:incoming>Flow_1jcpj04</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_1jcpj04" sourceRef="Activity_18xsp7z" targetRef="Event_1es5pkq" />
<bpmn:userTask id="Activity_18xsp7z" name="user task" camunda:assignee="leslie">
<bpmn:incoming>Flow_1wk41cc</bpmn:incoming>
<bpmn:outgoing>Flow_1jcpj04</bpmn:outgoing>
</bpmn:userTask>
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
<bpmndi:BPMNEdge id="Flow_1jcpj04_di" bpmnElement="Flow_1jcpj04">
<di:waypoint x="210" y="300" />
<di:waypoint x="210" y="372" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1wk41cc_di" bpmnElement="Flow_1wk41cc">
<di:waypoint x="210" y="158" />
<di:waypoint x="210" y="220" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
<dc:Bounds x="192" y="122" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_1es5pkq_di" bpmnElement="Event_1es5pkq">
<dc:Bounds x="192" y="372" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1302g84_di" bpmnElement="Activity_18xsp7z">
<dc:Bounds x="160" y="220" width="100" height="80" />
</bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
写回答
1回答
-
1、我们开启一个流程,第一个环节一般并不是Activiti的任务,而是一个自己编写的页面,比如请假,在第一个页面填写请假的类型,事假、年假、产假等,填写后根据类型不同启动不同的任务,同时表单数据也是要存在自己建的业务表里的,实现表单数据与Activiti实例的关联,可以通过存储表单数据后返回的主表ID放在businessKey里,建立业务表与流程实例的关联。当然也可以自己把流程实例ID存在业务表里,也能实现关联,就可以不用businessKey了。或者双向都存储,方便开发的时候互相获取。
2、Camunda在节点描述上和Actvitiv是有区别的,如果actiBPM不好用,可以看课程后面的bpmnjs部署,并且可以先用在线的测试一下BPMN是否能正常使用http://139.9.118.236:2020/layuimini/page/login-1.html
112021-01-11
相似问题