flowable/flowable-engine · error · FlowableObjectNotFoundException

No app definition found for id = ''

Error message

No app definition found for id = ''

What it means

Lookup miss while setting an app definition category: the appDefinitionId passed its null check, but the app definition manager cannot find a matching AppDefinitionEntity, so there is nothing to update.

Solutions

  1. Confirm the id via an app definition query first
  2. Treat as 404 in REST callers and surface the unknown id to the client
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at modules/flowable-app-engine/src/main/java/org/flowable/app/engine/impl/cmd/SetAppDefinitionCategoryCmd.java:48 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/a847fc592253d3c4. Report an issue: GitHub.

Appendix: source

Thrown at modules/flowable-app-engine/src/main/java/org/flowable/app/engine/impl/cmd/SetAppDefinitionCategoryCmd.java:48

    protected String appDefinitionId;
    protected String category;

    public SetAppDefinitionCategoryCmd(String appDefinitionId, String category) {
        this.appDefinitionId = appDefinitionId;
        this.category = category;
    }

    @Override
    public Void execute(CommandContext commandContext) {

        if (appDefinitionId == null) {
            throw new FlowableIllegalArgumentException("App definition id is null");
        }

        AppDefinitionEntity appDefinition = CommandContextUtil.getAppDefinitionEntityManager(commandContext).findById(appDefinitionId);

        if (appDefinition == null) {
            throw new FlowableObjectNotFoundException("No app definition found for id = '" + appDefinitionId + "'", AppDefinition.class);
        }

        // Update category
        appDefinition.setCategory(category);

        // Remove app definition from cache, it will be refetch later
        DeploymentCache<AppDefinitionCacheEntry> appDefinitionCache = CommandContextUtil.getAppEngineConfiguration(commandContext).getAppDefinitionCache();
        if (appDefinitionCache != null) {
            appDefinitionCache.remove(appDefinitionId);
        }

        return null;
    }

}

View on GitHub (pinned to d6d39ce1c6)