flowable/flowable-engine · error · FlowableIllegalArgumentException

App definition id is null

Error message

App definition id is null

What it means

Null-argument guard at the start of SetAppDefinitionCategoryCmd.execute: appDefinitionId is null, so updating an app definition's category is refused before any entity manager lookup. The category value itself may legitimately be null; the id may not.

Solutions

  1. Supply the app definition id whose category should change
  2. Null-check the argument in the calling service
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:42 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/d33b5067771af973. Report an issue: GitHub.

Appendix: source

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

/**
 * @author Tijs Rademakers
 */
public class SetAppDefinitionCategoryCmd implements Command<Void> {

    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)