flowable/flowable-engine · error · FlowableObjectNotFoundException
no apps deployed with key '' for tenant identifier ''
Error message
no apps deployed with key '' for tenant identifier ''
What it means
Lookup failure in AppDeploymentManager.findDeployedLatestAppDefinitionByKeyAndTenantId: no app definition is deployed under the given key for the given tenant, i.e. the key exists but not in that tenant context.
Solutions
- Deploy the app into the requested tenant
- Drop or correct the tenant filter so it matches the deployment's tenant id
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:88 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/1bc1d75a7b202fcb.
Report an issue: GitHub.
Appendix: source
Thrown at modules/flowable-app-engine/src/main/java/org/flowable/app/engine/impl/deployer/AppDeploymentManager.java:88
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) {
throw new FlowableObjectNotFoundException("no apps deployed with key = '" + appDefinitionKey + "' and version = '" + appDefinitionVersion + "'", AppDefinition.class);
}
appDefinition = resolveAppDefinition(appDefinition).getAppDefinition();
return appDefinition;
}
public AppDefinitionCacheEntry resolveAppDefinition(AppDefinition appDefinition) {
String appDefinitionId = appDefinition.getId();
String deploymentId = appDefinition.getDeploymentId();View on GitHub (pinned to d6d39ce1c6)