Bir İşlem Motoru, Depo Hizmeti, Çalışma Zamanı Hizmeti oluşturdum ve bir BPMN iş akışı dağıtdım. Ayrıca bir İşlem örneği oluşturdum ve başlatabiliyordum. Sorun, "deleteProcessInstance" yöntemini kullanarak işlem örneğini askıya almayı veya silmeyi denediğimde, ProcessInstanceId bulunamadığını belirten bir hata alıyorum !! PS: BPMN'deki processId'nin Activiti'de processKey olarak ele alındığını öğrendim.Activiti'de program örneği olarak bir işlem örneği nasıl silinir/askıya alınır?
Kodu: işlem örneğini başlarken Yukarıdaki kodu
public void startProcess(String processDefinitionKey)
{
ListenerClass.processInstance= ListenerClass.runtimeService.startProcessInstanceByKey(processDefinitionKey);
}
public void deleteProcess(String processInstanceId)
{
System.out.println("Stopping Process instance id " +processInstanceId);
ListenerClass.runtimeService.deleteProcessInstance(processInstanceId, "Ok");
}
}
ben BPMN.xml dosyasının "işlem kimliği" geçiş (BPMN.xml arasında ProcessID activiti ait = processInstanceKey anlamına gelir).
Benim BPMN.xml:
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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" id="Definitions_1" xmlns:activiti="http://activiti.org/bpmn"
targetNamespace="http://bpmn.io/schema/bpmn">
<bpmn:process id="Process_11" isExecutable="true" name="Hima">
<bpmn:startEvent id="StartEvent_1">
<bpmn:outgoing>SequenceFlow_06sykhd</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:sequenceFlow id="SequenceFlow_06sykhd" sourceRef="StartEvent_1" targetRef="Task_1dt8brv" />
<bpmn:endEvent id="EndEvent_0cb0ioi">
<bpmn:incoming>SequenceFlow_1doj4n6</bpmn:incoming>
</bpmn:endEvent>
<bpmn:serviceTask id="Task_1dt8brv"
name="My Java Service Task"
activiti:class="com.bosch.bip.Service.task1" >
<bpmn:incoming>SequenceFlow_06sykhd</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_156te78</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:serviceTask id="Task_10bfll9" activiti:class="com.bosch.bip.Service.task1">
<bpmn:incoming>SequenceFlow_156te78</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_1doj4n6</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:sequenceFlow id="SequenceFlow_156te78" sourceRef="Task_1dt8brv" targetRef="Task_10bfll9" />
<bpmn:sequenceFlow id="SequenceFlow_1doj4n6" sourceRef="Task_10bfll9" targetRef="EndEvent_0cb0ioi" />
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_11">
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
<dc:Bounds x="173" y="102" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_06sykhd_di" bpmnElement="SequenceFlow_06sykhd">
<di:waypoint xsi:type="dc:Point" x="209" y="120" />
<di:waypoint xsi:type="dc:Point" x="264" y="120" />
<di:waypoint xsi:type="dc:Point" x="264" y="147" />
<di:waypoint xsi:type="dc:Point" x="318" y="147" />
<bpmndi:BPMNLabel>
<dc:Bounds x="219" y="123.5" width="90" height="20" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="EndEvent_0cb0ioi_di" bpmnElement="EndEvent_0cb0ioi">
<dc:Bounds x="768" y="173" width="36" height="36" />
<bpmndi:BPMNLabel>
<dc:Bounds x="741" y="209" width="90" height="20" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_1dt8brv_di" bpmnElement="Task_1dt8brv">
<dc:Bounds x="318" y="107" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_10bfll9_di" bpmnElement="Task_10bfll9">
<dc:Bounds x="528" y="94" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_156te78_di" bpmnElement="SequenceFlow_156te78">
<di:waypoint xsi:type="dc:Point" x="418" y="147" />
<di:waypoint xsi:type="dc:Point" x="473" y="147" />
<di:waypoint xsi:type="dc:Point" x="473" y="134" />
<di:waypoint xsi:type="dc:Point" x="528" y="134" />
<bpmndi:BPMNLabel>
<dc:Bounds x="386" y="202.5" width="90" height="20" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1doj4n6_di" bpmnElement="SequenceFlow_1doj4n6">
<di:waypoint xsi:type="dc:Point" x="628" y="134" />
<di:waypoint xsi:type="dc:Point" x="698" y="134" />
<di:waypoint xsi:type="dc:Point" x="698" y="191" />
<di:waypoint xsi:type="dc:Point" x="768" y="191" />
<bpmndi:BPMNLabel>
<dc:Bounds x="653" y="152.5" width="90" height="20" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
bu bağlamda herhangi bir yardım gerçekten yararlı olacaktır.
runtimeService.deleteProcessInstance(processInstanceId, null);
süreç, belki işlem zaten sona erdi geçmiş silmek için ihtiyaç bitirildiginde: Yukarıda olduğu gibi bir koşu işlemi için
activiti API "processkey" tarafından bir proses örneğini silmek için herhangi bir yöntem yoktur –
ProcessInstanceId processKey aynı değildir. Kodunuzu buraya yapıştırır mısınız? –
@PiotrKorlaga Sorumu düzenledim. Lütfen bir göz atın –