Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Camunda bpmn计时器事件找不到java委托_Java_Timer_Camunda - Fatal编程技术网

Camunda bpmn计时器事件找不到java委托

Camunda bpmn计时器事件找不到java委托,java,timer,camunda,Java,Timer,Camunda,我有一个简单的bpmn流程: <?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="h

我有一个简单的bpmn流程:

<?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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_0m0cnse" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="4.2.0">
  <bpmn:process id="Process_1aegwvb" isExecutable="true">
    <bpmn:sequenceFlow id="Flow_1dfd8um" sourceRef="StartEvent_1" targetRef="Activity_047mv6x" />
    <bpmn:endEvent id="Event_1vradpp">
      <bpmn:incoming>Flow_19hnbhv</bpmn:incoming>
    </bpmn:endEvent>
    <bpmn:sequenceFlow id="Flow_19hnbhv" sourceRef="Activity_047mv6x" targetRef="Event_1vradpp" />
    <bpmn:startEvent id="StartEvent_1">
      <bpmn:outgoing>Flow_1dfd8um</bpmn:outgoing>
      <bpmn:timerEventDefinition id="TimerEventDefinition_1ah7red">
        <bpmn:timeCycle xsi:type="bpmn:tFormalExpression">0 0/5 * * * ?</bpmn:timeCycle>
      </bpmn:timerEventDefinition>
    </bpmn:startEvent>
    <bpmn:serviceTask id="Activity_047mv6x" name="Get users" camunda:class="*.Cron">
      <bpmn:incoming>Flow_1dfd8um</bpmn:incoming>
      <bpmn:outgoing>Flow_19hnbhv</bpmn:outgoing>
    </bpmn:serviceTask>
  </bpmn:process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1aegwvb">
      <bpmndi:BPMNEdge id="Flow_19hnbhv_di" bpmnElement="Flow_19hnbhv">
        <di:waypoint x="370" y="117" />
        <di:waypoint x="432" y="117" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1dfd8um_di" bpmnElement="Flow_1dfd8um">
        <di:waypoint x="215" y="117" />
        <di:waypoint x="270" y="117" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="Event_1vradpp_di" bpmnElement="Event_1vradpp">
        <dc:Bounds x="432" y="99" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_11i5xth_di" bpmnElement="StartEvent_1">
        <dc:Bounds x="179" y="99" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_01expgb_di" bpmnElement="Activity_047mv6x">
        <dc:Bounds x="270" y="77" width="100" height="80" />
      </bpmndi:BPMNShape>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn:definitions>
}

2020年9月24日10:40:05.164严重[pool-2-thread-3]org.camunda.commons.logging.BaseLogger.logError引擎-16006 BPMN堆栈跟踪: 活动\u 047mv6x(活动执行,流程实例[4ed42252-fe52-11ea-9efd-12baf36f6a87]) 活动\u 047mv6x,名称=获取用户 ^ | StarteEvent_1

2020年9月24日10:40:05.166严重[pool-2-thread-3]org.camunda.commons.logging.BaseLogger.logError ENGINE-16004关闭命令上下文时异常:ENGINE-09008实例化类“.Cron”时异常:ENGINE-09017无法加载类“.Cron”:.Cron org.camunda.bpm.engine.ProcessEngineeException:engine-09008实例化类“.Cron”时异常:engine-09017无法加载类“*.Cron”:*.Cron 在org.camunda.bpm.engine.impl.util.EngineUtilLogger.ExceptionWhileInstantingClass(EngineUtilLogger.java:81)上

原因:java.lang.ClassNotFoundException:.Cron 位于java.net.URLClassLoader.findClass(URLClassLoader.java:382) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:424) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:357) 位于java.lang.Class.forName0(本机方法) 位于java.lang.Class.forName(Class.java:348) 位于org.camunda.bpm.engine.impl.util.reflectil.loadClass(reflectil.java:87) ... 92多


您的流程模型包含一个实现类型为Java类的用户任务。 Java类名设置为:*.Cron 因此,当您运行该进程时,引擎正试图查找并实例化一个同名的类

要实现可在流程执行期间调用的类,请 类需要实现 org.camunda.bpm.engine.delegate.JavaDelegate接口,并提供 execute方法中需要的逻辑。当流程执行到达时 在这个特定的步骤中,它将执行在 方法,并将活动保留为默认的BPMN 2.0方式

您需要更改流程模型以引用实际存在的类()或使用其他实现方法

您的Docker映像可能基于Camunda BPM运行。在这个发行版中,可以在userlib文件夹中放置额外的jar。 但是,由于java世界中似乎不适合在家中,所以您可能需要考虑调用服务的不同方法。例如,您可以将服务任务的实现更改为脚本任务或外部服务任务


通过使用Cron类打包创建不同的模块,解决了这个问题。
然后将其添加为另一个web应用程序。

由于某些原因,我在创建问题时将实际路径更改为类。类确实存在,若我手动启动该进程,我可以调试它。公共类Cron实现JavaDelegate{@Override public void execute(DelegateExecution DelegateExecution){//some code}}。您需要向Camunda提供完全限定的类名。“无法加载类”.Cron':。”表明您尚未加载类。这堂课的套餐是什么?也许你可以用最新的信息更新问题中的模型和错误。
 @Override
 public void execute(DelegateExecution delegateExecution) {
     System.out.println("Test");
 }