我使用Activiti 6,但遇到一些问题。
如果在service task
方案中将script task
放在timer event
之后放置bpm
或service task
,则会出现错误,并且该过程不会继续进行并保持计时。
如果它是couldn't instantiate <full_name_of_the_class>
,则存在以下错误:
script task
其中是在服务任务的'class'属性中指定的类的全限定名称
如果它是Can't find scripting engine for 'groovy'
,则存在以下错误:
<?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/processdef"> <process id="MaxShulTest_v20" name="MaxShulTest" isExecutable="true"> <documentation>test process</documentation> <startEvent id="startEvent1"></startEvent> <userTask id="Task1" name="Task1"></userTask> <userTask id="Task4" name="Task4"></userTask> <userTask id="Task2" name="Task2"></userTask> <sequenceFlow id="sid-FEBA8018-5838-4AF2-8AE5-DED45EF36229" sourceRef="Task1" targetRef="Task2"></sequenceFlow> <sequenceFlow id="sid-A71A6EB8-293E-4EA7-A876-670C8E4ABF7C" sourceRef="Task2" targetRef="ExclusiveGateway1"></sequenceFlow> <sequenceFlow id="sid-1691D37B-9B00-452F-B031-124B3845912B" sourceRef="Task4" targetRef="ExclusiveGateway1"></sequenceFlow> <endEvent id="endEvent1"></endEvent> <sequenceFlow id="sid-EAC37DEB-9666-407E-8EE0-27C11CEC4302" sourceRef="ExclusiveGateway1" targetRef="endEvent1"></sequenceFlow> <exclusiveGateway id="ExclusiveGateway1"></exclusiveGateway> <boundaryEvent id="boundary_timer1" attachedToRef="Task1" cancelActivity="true"> <timerEventDefinition> <timeDuration>PT1M</timeDuration> </timerEventDefinition> </boundaryEvent> <sequenceFlow id="sid-88CC1D13-0907-44CC-ACAE-6E2FC01C8A3F" sourceRef="startEvent1" targetRef="service_task_1"></sequenceFlow> <serviceTask id="service_task_1" name="service_task_1" activiti:class="ru.maxlich.app.test.activiti.model.service.LogDelegateService"></serviceTask> <sequenceFlow id="sid-B9705ABC-78B3-460A-80ED-613EE3147491" sourceRef="service_task_2" targetRef="Task1"></sequenceFlow> <intermediateCatchEvent id="timer_1" name="timer_1"> <timerEventDefinition> <timeDuration>PT3M</timeDuration> </timerEventDefinition> </intermediateCatchEvent> <sequenceFlow id="sid-49554231-BC08-4237-8B48-6D5484289319" sourceRef="service_task_1" targetRef="timer_1"></sequenceFlow> <sequenceFlow id="sid-7C4E0E46-E680-45F2-847F-8C37FFB16C53" sourceRef="timer_1" targetRef="service_task_2"></sequenceFlow> <serviceTask id="service_task_2" name="service_task_2" activiti:class="ru.maxlich.app.test.activiti.model.service.LogDelegateService"></serviceTask> <sequenceFlow id="sid-727BA009-3FE2-48DE-B41E-693FCE3D2F53" sourceRef="boundary_timer1" targetRef="service_task_3"></sequenceFlow> <serviceTask id="service_task_3" name="service_task_3" activiti:class="ru.maxlich.app.test.activiti.model.service.LogDelegateService"></serviceTask> <sequenceFlow id="sid-7F9D801A-5C8F-4623-987E-2E3FC936126E" sourceRef="service_task_3" targetRef="Task4"></sequenceFlow> </process> <bpmndi:BPMNDiagram id="BPMNDiagram_MaxShulTest_v20"> <bpmndi:BPMNPlane bpmnElement="MaxShulTest_v20" id="BPMNPlane_MaxShulTest_v20"> <bpmndi:BPMNShape bpmnElement="startEvent1" id="BPMNShape_startEvent1"> <omgdc:Bounds height="30.0" width="30.0" x="30.0" y="185.943858356366"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="Task1" id="BPMNShape_Task1"> <omgdc:Bounds height="80.0" width="100.0" x="559.25" y="134.5"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="Task4" id="BPMNShape_Task4"> <omgdc:Bounds height="80.0" width="100.0" x="855.0" y="286.0"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="Task2" id="BPMNShape_Task2"> <omgdc:Bounds height="80.0" width="100.0" x="783.25" y="135.0"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="endEvent1" id="BPMNShape_endEvent1"> <omgdc:Bounds height="28.0" width="28.0" x="1122.25" y="189.0"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="ExclusiveGateway1" id="BPMNShape_ExclusiveGateway1"> <omgdc:Bounds height="40.0" width="40.0" x="1019.5" y="183.0"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="boundary_timer1" id="BPMNShape_boundary_timer1"> <omgdc:Bounds height="31.0" width="31.0" x="608.0803504247281" y="199.943858356366"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="service_task_1" id="BPMNShape_service_task_1"> <omgdc:Bounds height="71.0" width="110.0" x="135.0" y="138.0"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="timer_1" id="BPMNShape_timer_1"> <omgdc:Bounds height="31.0" width="31.0" x="303.13336181640625" y="158.0"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="service_task_2" id="BPMNShape_service_task_2"> <omgdc:Bounds height="82.0" width="107.0" x="390.0" y="133.5"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="service_task_3" id="BPMNShape_service_task_3"> <omgdc:Bounds height="82.0" width="107.0" x="630.0" y="285.0"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNEdge bpmnElement="sid-727BA009-3FE2-48DE-B41E-693FCE3D2F53" id="BPMNEdge_sid-727BA009-3FE2-48DE-B41E-693FCE3D2F53"> <omgdi:waypoint x="630.9660814288677" y="229.07107294829532"></omgdi:waypoint> <omgdi:waypoint x="661.2786598187816" y="285.0"></omgdi:waypoint> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="sid-FEBA8018-5838-4AF2-8AE5-DED45EF36229" id="BPMNEdge_sid-FEBA8018-5838-4AF2-8AE5-DED45EF36229"> <omgdi:waypoint x="659.25" y="174.61160714285714"></omgdi:waypoint> <omgdi:waypoint x="783.25" y="174.88839285714286"></omgdi:waypoint> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="sid-B9705ABC-78B3-460A-80ED-613EE3147491" id="BPMNEdge_sid-B9705ABC-78B3-460A-80ED-613EE3147491"> <omgdi:waypoint x="497.0" y="174.5"></omgdi:waypoint> <omgdi:waypoint x="559.25" y="174.5"></omgdi:waypoint> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="sid-EAC37DEB-9666-407E-8EE0-27C11CEC4302" id="BPMNEdge_sid-EAC37DEB-9666-407E-8EE0-27C11CEC4302"> <omgdi:waypoint x="1059.5" y="203.0"></omgdi:waypoint> <omgdi:waypoint x="1122.25" y="203.0"></omgdi:waypoint> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="sid-A71A6EB8-293E-4EA7-A876-670C8E4ABF7C" id="BPMNEdge_sid-A71A6EB8-293E-4EA7-A876-670C8E4ABF7C"> <omgdi:waypoint x="883.25" y="181.7795571220596"></omgdi:waypoint> <omgdi:waypoint x="1021.9182556711604" y="200.5817443288396"></omgdi:waypoint> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="sid-88CC1D13-0907-44CC-ACAE-6E2FC01C8A3F" id="BPMNEdge_sid-88CC1D13-0907-44CC-ACAE-6E2FC01C8A3F"> <omgdi:waypoint x="59.73834151603846" y="198.15436210137352"></omgdi:waypoint> <omgdi:waypoint x="135.0" y="183.90973937655264"></omgdi:waypoint> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="sid-49554231-BC08-4237-8B48-6D5484289319" id="BPMNEdge_sid-49554231-BC08-4237-8B48-6D5484289319"> <omgdi:waypoint x="245.0" y="173.71295813578445"></omgdi:waypoint> <omgdi:waypoint x="303.13348175202987" y="173.93804900670392"></omgdi:waypoint> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="sid-7C4E0E46-E680-45F2-847F-8C37FFB16C53" id="BPMNEdge_sid-7C4E0E46-E680-45F2-847F-8C37FFB16C53"> <omgdi:waypoint x="335.13323251092316" y="174.0643254128607"></omgdi:waypoint> <omgdi:waypoint x="390.0" y="174.28491016247852"></omgdi:waypoint> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="sid-7F9D801A-5C8F-4623-987E-2E3FC936126E" id="BPMNEdge_sid-7F9D801A-5C8F-4623-987E-2E3FC936126E"> <omgdi:waypoint x="737.0" y="326.0"></omgdi:waypoint> <omgdi:waypoint x="855.0" y="326.0"></omgdi:waypoint> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="sid-1691D37B-9B00-452F-B031-124B3845912B" id="BPMNEdge_sid-1691D37B-9B00-452F-B031-124B3845912B"> <omgdi:waypoint x="948.8221673355974" y="286.0"></omgdi:waypoint> <omgdi:waypoint x="1029.1648250460405" y="212.6648250460405"></omgdi:waypoint> </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </definitions>
同时存在服务任务中指定的所有类,并且已连接了“ groovy”库。
有趣的是,它可以在5-10种情况下起作用,并且不会出现错误。
它也可以在Activiti Modeler中使用。总是。而且我不明白为什么它在我的应用程序中不起作用(我在工作的应用程序和简单的测试应用程序中都尝试过)。
PS这是我的测试bpm方案:
params
答案 0 :(得分:0)
我发现了为什么它不起作用。 Activiti Modeler是并行启动的,它使用相同的数据库。我还使用了使用Activiti Modeler的Activiti Admin。所有这些都适用于Apache Tomcat。我关闭了tomcat,一切都瞬间完成了。