vibeerp-ping.bpmn20.xml 1.69 KB
<?xml version="1.0" encoding="UTF-8"?>
<!--
  vibe_erp built-in diagnostic workflow.

  A single synchronous service task that routes through
  org.vibeerp.platform.workflow.DispatchingJavaDelegate (Spring bean named
  "taskDispatcher") to the PingTaskHandler, which writes pong=true +
  pongAt to the process variables and ends immediately.

  The service task's `id` attribute is the TaskHandler key — this is the
  framework-wide convention for BPMN service tasks. No extension elements,
  no field injection, no second source of truth.

  Auto-deployed by the Flowable Spring Boot starter from classpath*:/processes/*.bpmn20.xml.
-->
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:flowable="http://flowable.org/bpmn"
             targetNamespace="http://vibeerp.org/bpmn">
  <!--
    processDefinitionKey is "vibeerp-workflow-ping" (what the REST caller
    passes to POST /api/v1/workflow/process-instances). The service task's
    id "vibeerp.workflow.ping" is the TaskHandler key — convention is
    `<plugin-id>.<aggregate>.<verb>`. BPMN 2.0 requires ids be unique per
    document so the two cannot be identical.
  -->
  <process id="vibeerp-workflow-ping" name="vibe_erp workflow ping" isExecutable="true">
    <startEvent id="start"/>
    <sequenceFlow id="flow-start-to-ping" sourceRef="start" targetRef="vibeerp.workflow.ping"/>
    <serviceTask id="vibeerp.workflow.ping"
                 name="Ping"
                 flowable:delegateExpression="${taskDispatcher}"/>
    <sequenceFlow id="flow-ping-to-end" sourceRef="vibeerp.workflow.ping" targetRef="end"/>
    <endEvent id="end"/>
  </process>
</definitions>