flowable/flowable-engine · error · FlowableIllegalArgumentException
categoryNotEquals is null
Error message
categoryNotEquals is null
What it means
EventDefinitionQueryImpl.eventCategoryNotEquals() throws FlowableIllegalArgumentException ('categoryNotEquals is null') when the argument is null. The negated-equality category filter requires a non-null value; null would be meaningless in SQL (NULL != x is unknown), so the library rejects it eagerly.
Solutions
- Pass a non-null category string to exclude, e.g. eventCategoryNotEquals("internal.category")
- Guard the call with a null check and omit the exclusion when absent
- If you need NULL-exclusion semantics, use the dedicated isNotNull-style query methods instead of passing null
Example fix
// before
query.eventCategoryNotEquals(excludedCategory);
// after
if (excludedCategory != null) { query.eventCategoryNotEquals(excludedCategory); } Defensive patterns
Strategy: validation
Validate before calling
null
Type guard
null
Try / catch
null
Prevention
- Only add exclusion filters when a value is present
When it happens
Trigger: Calling eventCategoryNotEquals(null), commonly when excluding a category that was never set in configuration or was returned null by a lookup.
Common situations: 'Exclude category' filters bound to empty config values; null category constants; refactors that made an exclusion field optional without updating callers.
Related errors
- category is null
- categoryLike is null
- Booleans and null cannot be used in 'greater than or equal'…
- Booleans and null cannot be used in 'less than or equal'…
- Execution id is null
AI-assisted analysis of flowable/flowable-engine@d6d39ce1c6 (2026-09-11).
Data as JSON: /api/errors/618f83eeb44d602f.
Report an issue: GitHub.
Appendix: source
Thrown at modules/flowable-event-registry/src/main/java/org/flowable/eventregistry/impl/EventDefinitionQueryImpl.java:104
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");
}
this.name = name;
return this;
}
@Override
public EventDefinitionQueryImpl eventDefinitionNameLike(String nameLike) {
if (nameLike == null) {
throw new FlowableIllegalArgumentException("nameLike is null");View on GitHub (pinned to d6d39ce1c6)