flowable/flowable-engine · error · FlowableObjectNotFoundException
no apps deployed with key ''
Error message
no apps deployed with key ''
What it means
Lookup failure in AppDeploymentManager.findDeployedLatestAppDefinitionByKey: no app definition could be resolved for the given key, so there is no 'latest' deployment for it. Typically means the app was never deployed under that key, or under the tenant being queried.
Solutions
- Check the app key spelling against the deployed app definitions
- Deploy at least one version of the app with that key
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at modules/flowable-app-engine/src/main/java/org/flowable/app/engine/impl/deployer/AppDeploymentManager.java:79 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of flowable/flowable-engine@d6d39ce1c6 (2026-09-11).
Data as JSON: /api/errors/4d0d2bc09069fb99.
Report an issue: GitHub.
Appendix: source
Thrown at modules/flowable-app-engine/src/main/java/org/flowable/app/engine/impl/deployer/AppDeploymentManager.java:79
AppDefinitionCacheEntry cacheEntry = appDefinitionCache.get(appDefinitionId);
AppDefinition appDefinition = cacheEntry != null ? cacheEntry.getAppDefinition() : null;
if (appDefinition == null) {
appDefinition = appDefinitionEntityManager.findById(appDefinitionId);
if (appDefinition == null) {
throw new FlowableObjectNotFoundException("no deployed app definition found with id '" + appDefinitionId + "'", AppDefinition.class);
}
appDefinition = resolveAppDefinition(appDefinition).getAppDefinition();
}
return appDefinition;
}
public AppDefinition findDeployedLatestAppDefinitionByKey(String appDefinitionKey) {
AppDefinition appDefinition = appDefinitionEntityManager.findLatestAppDefinitionByKey(appDefinitionKey);
if (appDefinition == null) {
throw new FlowableObjectNotFoundException("no apps deployed with key '" + appDefinitionKey + "'", AppDefinition.class);
}
appDefinition = resolveAppDefinition(appDefinition).getAppDefinition();
return appDefinition;
}
public AppDefinition findDeployedLatestAppDefinitionByKeyAndTenantId(String appDefinitionKey, String tenantId) {
AppDefinition appDefinition = appDefinitionEntityManager.findLatestAppDefinitionByKeyAndTenantId(appDefinitionKey, tenantId);
if (appDefinition == null) {
throw new FlowableObjectNotFoundException("no apps deployed with key '" + appDefinitionKey + "' for tenant identifier '" + tenantId + "'", AppDefinition.class);
}
appDefinition = resolveAppDefinition(appDefinition).getAppDefinition();
return appDefinition;
}
public AppDefinition findDeployedAppDefinitionByKeyAndVersionAndTenantId(String appDefinitionKey, Integer appDefinitionVersion, String tenantId) {
AppDefinition appDefinition = (AppDefinitionEntity) appDefinitionEntityManager
.findAppDefinitionByKeyAndVersionAndTenantId(appDefinitionKey, appDefinitionVersion, tenantId);
if (appDefinition == null) {View on GitHub (pinned to d6d39ce1c6)