{"record":{"id":"6248a6b17c5731da","repo":"flowable/flowable-engine","slug":"unsupported-boundary-event-type-for-boundary-event","errorCode":null,"errorMessage":"Unsupported boundary event type for boundary event {}","messagePattern":"Unsupported boundary event type for boundary event (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"modules/flowable5-engine/src/main/java/org/activiti/engine/impl/bpmn/parser/handler/BoundaryEventParseHandler.java","lineNumber":67,"sourceCode":"        ActivityImpl nestedActivity = createActivityOnScope(bpmnParse, boundaryEvent, BpmnXMLConstants.ELEMENT_EVENT_BOUNDARY, parentActivity);\n        bpmnParse.setCurrentActivity(nestedActivity);\n\n        EventDefinition eventDefinition = null;\n        if (!boundaryEvent.getEventDefinitions().isEmpty()) {\n            eventDefinition = boundaryEvent.getEventDefinitions().get(0);\n        }\n\n        if (eventDefinition instanceof TimerEventDefinition\n                || eventDefinition instanceof org.flowable.bpmn.model.ErrorEventDefinition\n                || eventDefinition instanceof SignalEventDefinition\n                || eventDefinition instanceof CancelEventDefinition\n                || eventDefinition instanceof MessageEventDefinition\n                || eventDefinition instanceof org.flowable.bpmn.model.CompensateEventDefinition) {\n\n            bpmnParse.getBpmnParserHandlers().parseElement(bpmnParse, eventDefinition);\n\n        } else {\n            LOGGER.warn(\"Unsupported boundary event type for boundary event {}\", boundaryEvent.getId());\n        }\n    }\n\n}\n","sourceCodeStart":49,"sourceCodeEnd":72,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable5-engine/src/main/java/org/activiti/engine/impl/bpmn/parser/handler/BoundaryEventParseHandler.java#L49-L72","documentation":"BoundaryEventParseHandler.executeParse() warns when a boundary event carries an event definition type the engine does not support (not timer, error, signal, message, or compensate). The unsupported definition is skipped and the boundary event will not react to that event at runtime.","triggerScenarios":"A <boundaryEvent> containing an event definition other than Timer/Error/Signal/Message/CompensateEventDefinition (e.g. escalation, conditional, or custom definitions) — logged in executeParse()'s else branch.","commonSituations":"Models built for other BPMN engines (Camunda escalation events, conditional boundary events) deployed to Flowable/Activiti 5-engine; tool exports emitting unsupported definition types.","solutions":["Replace the unsupported event definition with a supported type (timer, error, signal, message, or compensate)","Remove the unsupported definition from the boundary event","Re-model the behavior using supported constructs (e.g. use an error event instead of escalation)","Check the engine version's supported boundary event types before importing models"],"exampleFix":"// before\n<boundaryEvent id=\"be1\"><escalationEventDefinition/></boundaryEvent>\n// after\n<boundaryEvent id=\"be1\"><errorEventDefinition errorRef=\"myError\"/></boundaryEvent>","handlingStrategy":"validation","validationCode":"// Only supported boundary event definitions\nSet<Class<?>> supported = Set.of(TimerEventDefinition.class, ErrorEventDefinition.class,\n    SignalEventDefinition.class, MessageEventDefinition.class, CompensateEventDefinition.class);\nfor (BoundaryEvent be : collectBoundaryEvents(process)) {\n    for (EventDefinition ed : be.getEventDefinitions()) {\n        if (!supported.contains(ed.getClass()))\n            throw new IllegalArgumentException(\"Unsupported boundary event definition on \" + be.getId());\n    }\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Check engine-supported event types before importing models from other BPMN engines","Replace escalation/conditional boundary events with supported alternatives at modeling time"],"tags":["bpmn","boundary-event","unsupported"],"backgroundTag":"unsupported-operation","analyzedSha":"d6d39ce1c69ff244f2d9dc6af756a9b95e865586","analyzedAt":"2026-09-11T06:41:19.413Z","contentChangedAt":"2026-09-11T06:41:19.413Z","schemaVersion":2},"datasetVersion":"2026-09-18T11:17:12.947Z"}