{"record":{"id":"60659509c269f644","repo":"flowable/flowable-engine","slug":"no-event-definitions-deployed-with-key-eventdef-606595","errorCode":null,"errorMessage":"no event definitions deployed with key '${eventDefinitionKey}' for deployment id '${deploymentId}'","messagePattern":"no event definitions deployed with key '(.+?)' for deployment id '(.+?)'","errorType":"exception","errorClass":"FlowableObjectNotFoundException","httpStatus":null,"severity":"error","filePath":"modules/flowable-event-registry/src/main/java/org/flowable/eventregistry/impl/persistence/deploy/EventDeploymentManager.java","lineNumber":141,"sourceCode":"        channelDefinition = resolveChannelDefinition(channelDefinition).getChannelDefinitionEntity();\n        return channelDefinition;\n    }\n\n    public EventDefinitionEntity findDeployedLatestEventDefinitionByKeyAndTenantId(String eventDefinitionKey, String tenantId) {\n        EventDefinitionEntity eventDefinition = eventDefinitionEntityManager.findLatestEventDefinitionByKeyAndTenantId(eventDefinitionKey, tenantId);\n\n        if (eventDefinition == null) {\n            throw new FlowableObjectNotFoundException(\"no event definitions deployed with key '\" + eventDefinitionKey + \"' for tenant identifier '\" + tenantId + \"'\");\n        }\n        eventDefinition = resolveEventDefinition(eventDefinition).getEventDefinitionEntity();\n        return eventDefinition;\n    }\n\n    public EventDefinitionEntity findDeployedLatestEventDefinitionByKeyAndDeploymentId(String eventDefinitionKey, String deploymentId) {\n        EventDefinitionEntity eventDefinition = eventDefinitionEntityManager.findEventDefinitionByDeploymentAndKey(deploymentId, eventDefinitionKey);\n\n        if (eventDefinition == null) {\n            throw new FlowableObjectNotFoundException(\"no event definitions deployed with key '\" + eventDefinitionKey +\n                    \"' for deployment id '\" + deploymentId + \"'\");\n        }\n        eventDefinition = resolveEventDefinition(eventDefinition).getEventDefinitionEntity();\n        return eventDefinition;\n    }\n\n    public EventDefinitionEntity findDeployedLatestEventDefinitionByKeyDeploymentIdAndTenantId(String eventDefinitionKey, String deploymentId, String tenantId) {\n        EventDefinitionEntity eventDefinition = eventDefinitionEntityManager.findEventDefinitionByDeploymentAndKeyAndTenantId(deploymentId, eventDefinitionKey, tenantId);\n\n        if (eventDefinition == null) {\n            throw new FlowableObjectNotFoundException(\"no event definitions deployed with key '\" + eventDefinitionKey +\n                    \"' for deployment id '\" + deploymentId + \"' and tenant identifier '\" + tenantId + \"'\");\n        }\n        eventDefinition = resolveEventDefinition(eventDefinition).getEventDefinitionEntity();\n        return eventDefinition;\n    }\n\n    public EventDefinitionEntity findDeployedEventDefinitionByKeyAndVersionAndTenantId(String eventDefinitionKey, int eventVersion, String tenantId) {","sourceCodeStart":123,"sourceCodeEnd":159,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable-event-registry/src/main/java/org/flowable/eventregistry/impl/persistence/deploy/EventDeploymentManager.java#L123-L159","documentation":"findDeployedLatestEventDefinitionByKeyAndDeploymentId throws FlowableObjectNotFoundException when no event definition matches both the given deployment id and key, i.e. that specific deployment does not contain a definition with that key.","triggerScenarios":"Calling findDeployedLatestEventDefinitionByKeyAndDeploymentId for a deploymentId that never included the key (wrong deployment resolved), a deployment id that does not exist, or a key renamed after the deployment was made.","commonSituations":"Redeploy/resume logic reusing an old deploymentId while definitions moved to a newer deployment; referencing a deployment from a different engine/database; model refactors that changed the event key.","solutions":["Verify the deployment actually contains the key (query event definitions by DEPLOYMENT_ID_ and KEY_)","Use the correct deploymentId, or switch to findDeployedLatestEventDefinitionByKey for the latest version","Redeploy if the definition was moved/removed from the deployment","Catch FlowableObjectNotFoundException to handle version-mismatch cases"],"exampleFix":"// before\ndef = deploymentManager.findDeployedLatestEventDefinitionByKeyAndDeploymentId(\"order.created\", deploymentId);\n// after\ntry {\n    def = deploymentManager.findDeployedLatestEventDefinitionByKeyAndDeploymentId(\"order.created\", deploymentId);\n} catch (FlowableObjectNotFoundException e) {\n    def = deploymentManager.findDeployedLatestEventDefinitionByKey(\"order.created\"); // fall back to latest\n}","handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n    def = deploymentManager.findDeployedLatestEventDefinitionByKeyAndDeploymentId(key, deploymentId);\n} catch (org.flowable.common.engine.api.FlowableObjectNotFoundException e) {\n    def = deploymentManager.findDeployedLatestEventDefinitionByKey(key); // fall back to latest\n}","preventionTips":["Persist the deploymentId together with the definition key when resolving versions","Fall back to key-based latest lookup for forward compatibility after redeploys","Verify deployment contents when migrations rename event keys"],"tags":["java","event-registry","deployment","not-found"],"backgroundTag":"record-not-found","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"}