{"record":{"id":"46d007136de14645","repo":"flowable/flowable-engine","slug":"this-activity-isn-t-waiting-for-a-trigger-for-ex","errorCode":null,"errorMessage":"this activity isn't waiting for a trigger for ${execution}","messagePattern":"this activity isn't waiting for a trigger for (.+?)","errorType":"exception","errorClass":"FlowableException","httpStatus":null,"severity":"error","filePath":"modules/flowable-engine/src/main/java/org/flowable/engine/impl/bpmn/behavior/FlowNodeActivityBehavior.java","lineNumber":56,"sourceCode":"    public void execute(DelegateExecution execution) {\n        leave(execution);\n    }\n\n    /**\n     * Default way of leaving a BPMN 2.0 activity: evaluate the conditions on the outgoing sequence flow and take those that evaluate to true.\n     */\n    public void leave(DelegateExecution execution) {\n        bpmnActivityBehavior.performDefaultOutgoingBehavior((ExecutionEntity) execution);\n    }\n\n    public void leaveIgnoreConditions(DelegateExecution execution) {\n        bpmnActivityBehavior.performIgnoreConditionsOutgoingBehavior((ExecutionEntity) execution);\n    }\n\n    @Override\n    public void trigger(DelegateExecution execution, String signalName, Object signalData) {\n        // concrete activity behaviours that do accept signals should override this method;\n        throw new FlowableException(\"this activity isn't waiting for a trigger for \" + execution);\n    }\n\n    protected String parseActivityType(FlowNode flowNode) {\n        String elementType = flowNode.getClass().getSimpleName();\n        elementType = elementType.substring(0, 1).toLowerCase() + elementType.substring(1);\n        return elementType;\n    }\n}\n","sourceCodeStart":38,"sourceCodeEnd":65,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable-engine/src/main/java/org/flowable/engine/impl/bpmn/behavior/FlowNodeActivityBehavior.java#L38-L65","documentation":"A trigger() was invoked on an execution whose current activity is not in a waiting state; signaling only applies to activities paused for a trigger (e.g. receive task, intermediate catch event), so this indicates a signaling protocol violation.","triggerScenarios":"Thrown at modules/flowable-engine/src/main/java/org/flowable/engine/impl/bpmn/behavior/FlowNodeActivityBehavior.java:56 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Only signal executions actually waiting at the activity","Query signal/event subscriptions to find valid targets instead of guessing execution ids","Check execution state before calling runtimeService.trigger"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"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"}