bpm scheme中定时器事件后有服务任务或脚本任务时报错(Alfresco的Activiti 6)

Errors if there are service tasks or script tasks after timer event in bpm scheme (Alfresco's Activiti 6)

我用的是Activiti 6,遇到了一些问题。 如果我在 bpm 方案中的 timer event 之后放置 service taskscript task,则会出现错误,并且进程不会继续并停留在计时器上。 如果是service task,就会出现这样的错误:

couldn't instantiate <full_name_of_the_class>

服务任务'class'属性中指定的class的完整限定名在哪里

如果是script task,就会出现这样的错误:

Can't find scripting engine for 'groovy'

同时服务任务中指定的所有classes都存在并且'groovy'库已连接。

有趣的是,这在 5-10 种情况之一中有效,并且没有出现错误。

它也适用于 Activiti Modeler。总是。而且我不明白为什么它在我的应用程序中不起作用(我在我的工作应用程序和简单的测试应用程序中都尝试过)。

PS这是我的测试bpm方案:

        <?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>

我找到了它不起作用的原因。 Activiti Modeler 是并行启动的,它使用相同的数据库。我还使用了使用 Activiti Modeler 的 Activiti Admin。这一切都适用于 Apache Tomcat。我关闭了 tomcat,一切都暂时正常了。