flowable/flowable-engine · error · FlowableIllegalArgumentException

categoryLike is null

Error message

categoryLike is null

What it means

EventDefinitionQueryImpl.eventCategoryLike() throws FlowableIllegalArgumentException ('categoryLike is null') when the LIKE pattern is null. A non-null pattern is required to build the category LIKE filter, so the library fails at the setter instead of at query execution.

Solutions

  1. Pass a valid non-null pattern, e.g. eventCategoryLike("my.%")
  2. Null-check before calling; add the filter only when a pattern exists
  3. Default missing patterns to "%" to match all categories

Example fix

// before
query.eventCategoryLike(categoryPrefix + "%");
// after
if (categoryPrefix != null) { query.eventCategoryLike(categoryPrefix + "%"); }
Defensive patterns

Strategy: validation

Validate before calling

null

Type guard

null

Try / catch

null

Prevention

When it happens

Trigger: Calling eventCategoryLike(null), usually when the pattern is dynamically composed (e.g. prefix + "%") and the prefix variable is null.

Common situations: Wildcard category searches with null prefixes; optional filter parameters passed straight through; config property lookups returning null.

Related errors


AI-assisted analysis of flowable/flowable-engine@d6d39ce1c6 (2026-09-11). Data as JSON: /api/errors/6ac872d471e8ce5b. Report an issue: GitHub.

Appendix: source

Thrown at modules/flowable-event-registry/src/main/java/org/flowable/eventregistry/impl/EventDefinitionQueryImpl.java:95

    @Override
    public EventDefinitionQueryImpl eventDefinitionIds(Set<String> eventDefinitionIds) {
        this.ids = eventDefinitionIds;
        return this;
    }

    @Override
    public EventDefinitionQueryImpl eventCategory(String category) {
        if (category == null) {
            throw new FlowableIllegalArgumentException("category is null");
        }
        this.category = category;
        return this;
    }

    @Override
    public EventDefinitionQueryImpl eventCategoryLike(String categoryLike) {
        if (categoryLike == null) {
            throw new FlowableIllegalArgumentException("categoryLike is null");
        }
        this.categoryLike = categoryLike;
        return this;
    }

    @Override
    public EventDefinitionQueryImpl eventCategoryNotEquals(String categoryNotEquals) {
        if (categoryNotEquals == null) {
            throw new FlowableIllegalArgumentException("categoryNotEquals is null");
        }
        this.categoryNotEquals = categoryNotEquals;
        return this;
    }

    @Override
    public EventDefinitionQueryImpl eventDefinitionName(String name) {
        if (name == null) {
            throw new FlowableIllegalArgumentException("name is null");

View on GitHub (pinned to d6d39ce1c6)