flowable/flowable-engine · error · FlowableIllegalArgumentException
configuration is null
Error message
configuration is null
What it means
EventSubscriptionQueryImpl.configuration() validates that the configuration value (typically the correlation/configuration column of an event subscription, e.g. a signal or message key) is non-null. Flowable throws FlowableIllegalArgumentException because null configuration cannot be matched in the generated SQL predicate.
Solutions
- Validate the configuration string before calling configuration(), and reject or default at the caller boundary
- Skip the configuration() call when filtering by configuration is not intended
- Fix the upstream source (variable, request field) to always carry the expected value
Example fix
// before query.configuration(signalName); // after Objects.requireNonNull(signalName, "signalName required"); query.configuration(signalName);
Defensive patterns
Strategy: validation
Validate before calling
Objects.requireNonNull(configuration, "configuration must not be null");
Type guard
boolean hasConfiguration(String c) { return c != null && !c.isBlank(); } Try / catch
try {
query.configuration(configuration);
} catch (FlowableIllegalArgumentException e) {
throw new BadRequestException("configuration is required", e);
} Prevention
- Validate request/variable payloads at the boundary
- Skip configuration() when filtering by configuration is not intended
- Use Objects.requireNonNull early to localize failures
When it happens
Trigger: Calling eventSubscriptionQuery.configuration(null), usually when the configuration value originates from an unset variable, a message/signal name that was not provided, or a lookup miss.
Common situations: Filtering event subscriptions by signal/message name where the name is supplied by a caller, a process variable, or an API payload that omitted it.
Related errors
- Provided scope type is null
- activity tenant id is null
- activityId is null
- batchId is null
- batchSearchKey is null
AI-assisted analysis of flowable/flowable-engine@d6d39ce1c6 (2026-09-11).
Data as JSON: /api/errors/ac59db4093da6db8.
Report an issue: GitHub.
Appendix: source
Thrown at modules/flowable-eventsubscription-service/src/main/java/org/flowable/eventsubscription/service/impl/EventSubscriptionQueryImpl.java:434
}
return this;
}
@Override
public EventSubscriptionQuery withoutTenantId() {
if (inOrStatement) {
this.currentOrQueryObject.withoutTenantId = true;
} else {
this.withoutTenantId = true;
}
return this;
}
@Override
public EventSubscriptionQueryImpl configuration(String configuration) {
if (configuration == null) {
throw new FlowableIllegalArgumentException("configuration is null");
}
if (inOrStatement) {
this.currentOrQueryObject.configuration = configuration;
} else {
this.configuration = configuration;
}
return this;
}
@Override
public EventSubscriptionQueryImpl configurations(Collection<String> configurations) {
if (configurations == null) {
throw new FlowableIllegalArgumentException("configurations are null");
}
if (inOrStatement) {View on GitHub (pinned to d6d39ce1c6)