{"record":{"id":"63c0de9cf4cdc73e","repo":"flowable/flowable-engine","slug":"no-deployed-case-definition-found-for-id-casede","errorCode":null,"errorMessage":"No deployed case definition found for id '${caseDefinitionId}'.","messagePattern":"No deployed case definition found for id '(.+?)'\\.","errorType":"validation","errorClass":"FlowableIllegalArgumentException","httpStatus":null,"severity":"error","filePath":"modules/flowable-cmmn-engine/src/main/java/org/flowable/cmmn/engine/impl/cmd/AbstractCaseStartEventSubscriptionCmd.java","lineNumber":121,"sourceCode":"            }\n        }\n        \n        if (caseDefinition == null) {\n            throw new FlowableIllegalArgumentException(\"No deployed case definition found for key '\" + caseDefinitionKey + \"'.\");\n        }\n        \n        return caseDefinition;\n    }\n\n    protected CaseDefinition getCaseDefinitionById(String caseDefinitionId, CommandContext commandContext) {\n        CmmnRepositoryService repositoryService = CommandContextUtil.getCmmnEngineConfiguration(commandContext).getCmmnRepositoryService();\n\n        CaseDefinition caseDefinition = repositoryService.createCaseDefinitionQuery()\n            .caseDefinitionId(caseDefinitionId)\n            .singleResult();\n\n        if (caseDefinition == null) {\n            throw new FlowableIllegalArgumentException(\"No deployed case definition found for id '\" + caseDefinitionId + \"'.\");\n        }\n        return caseDefinition;\n    }\n\n    protected Case getCase(String caseDefinitionId, CommandContext commandContext) {\n        CmmnRepositoryService repositoryService = CommandContextUtil.getCmmnEngineConfiguration(commandContext).getCmmnRepositoryService();\n        CmmnModel cmmnModel = repositoryService.getCmmnModel(caseDefinitionId);\n        return cmmnModel.getPrimaryCase();\n    }\n\n    protected EventModel getEventModel(String eventDefinitionKey, String tenantId, CommandContext commandContext) {\n        EventModel eventModel = CommandContextUtil.getEventRepositoryService(commandContext).getEventModelByKey(eventDefinitionKey, tenantId);\n        if (eventModel == null) {\n            throw new FlowableIllegalArgumentException(\"Could not find event model with key '\" + eventDefinitionKey + \"'.\");\n        }\n        return eventModel;\n    }\n","sourceCodeStart":103,"sourceCodeEnd":139,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable-cmmn-engine/src/main/java/org/flowable/cmmn/engine/impl/cmd/AbstractCaseStartEventSubscriptionCmd.java#L103-L139","documentation":"Guard in AbstractCaseStartEventSubscriptionCmd.getCaseDefinitionById: the case definition looked up by the supplied id does not exist (or is not deployed), so the event subscription cannot be tied to a case definition.","triggerScenarios":"getCaseDefinitionById(caseDefinitionId, ctx) where repositoryService.createCaseDefinitionQuery().caseDefinitionId(id).singleResult() is null — stale or fabricated id.","commonSituations":"Using an id from another engine/database (e.g., process definition id in a CMMN call); id stored/cached from a redeployment that replaced the definition; hard-coded id from a different environment.","solutions":["Fetch the current id via createCaseDefinitionQuery().caseDefinitionKey(key).latestVersion() instead of hard-coding ids.","Verify the id belongs to the CMMN (not BPMN) repository and to the same database/environment.","Re-resolve the definition after redeployment; definition ids change per deployment."],"exampleFix":"// before\ncaseInstanceBuilder.caseDefinitionId(\"ORD-1\"); // stale id\n// after\ncaseInstanceBuilder.caseDefinitionKey(\"order-case\").start(); // resolve latest by key","handlingStrategy":"validation","validationCode":"CaseDefinition cd = cmmnRepositoryService.createCaseDefinitionQuery()\n    .caseDefinitionId(id).singleResult();\nif (cd == null) throw new IllegalStateException(\"unknown case definition id \" + id);","typeGuard":null,"tryCatchPattern":"try { builder.caseDefinitionId(id).start(); }\ncatch (FlowableIllegalArgumentException e) { if (e.getMessage().contains(\"No deployed case definition found for id\")) { resolveByKeyInstead(); } }","preventionTips":["Prefer case definition keys over hard-coded ids; ids change per deployment/environment","Do not reuse BPMN process definition ids in CMMN calls"],"tags":["cmmn","case-definition","identifier"],"backgroundTag":"invalid-identifier","analyzedSha":"d6d39ce1c69ff244f2d9dc6af756a9b95e865586","analyzedAt":"2026-09-11T06:41:19.413Z","contentChangedAt":"2026-09-11T06:41:19.413Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}