flowable/flowable-engine · error · FlowableIllegalArgumentException

resourceNameLike is null

Error message

resourceNameLike is null

What it means

ChannelDefinitionQueryImpl.channelDefinitionResourceNameLike() throws FlowableIllegalArgumentException when resourceNameLike is null. The LIKE filter needs a non-null pattern string; null would be invalid in the generated query, so the library fails fast. It means the caller supplied a null pattern.

Solutions

  1. Pass a valid non-null LIKE pattern, e.g. channelDefinitionResourceNameLike("%my.channel%")
  2. Guard the call: only invoke it when the pattern is non-null
  3. Default absent patterns to "%" (match all) instead of passing null

Example fix

// before
query.channelDefinitionResourceNameLike(pattern);
// after
if (pattern != null) { query.channelDefinitionResourceNameLike(pattern); }
Defensive patterns

Strategy: validation

Validate before calling

Objects.requireNonNull(resourceNameLike, "resourceNameLike must not be null");

Type guard

null

Try / catch

null

Prevention

When it happens

Trigger: Calling channelDefinitionResourceNameLike(null), usually when the pattern is composed from user input or configuration that was absent.

Common situations: Search/filter UIs forwarding an empty (null) search box value; optional config keys defaulting to null instead of a wildcard pattern.

Related errors


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

Appendix: source

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

    @Override
    public ChannelDefinitionQueryImpl channelCreateTimeBefore(Date createTimeBefore) {
        this.createTimeBefore = createTimeBefore;
        return this;
    }

    @Override
    public ChannelDefinitionQueryImpl channelDefinitionResourceName(String resourceName) {
        if (resourceName == null) {
            throw new FlowableIllegalArgumentException("resourceName is null");
        }
        this.resourceName = resourceName;
        return this;
    }

    @Override
    public ChannelDefinitionQueryImpl channelDefinitionResourceNameLike(String resourceNameLike) {
        if (resourceNameLike == null) {
            throw new FlowableIllegalArgumentException("resourceNameLike is null");
        }
        this.resourceNameLike = resourceNameLike;
        return this;
    }

    @Override
    public ChannelDefinitionQueryImpl tenantId(String tenantId) {
        if (tenantId == null) {
            throw new FlowableIllegalArgumentException("form tenantId is null");
        }
        this.tenantId = tenantId;
        return this;
    }

    @Override
    public ChannelDefinitionQueryImpl tenantIdLike(String tenantIdLike) {
        if (tenantIdLike == null) {
            throw new FlowableIllegalArgumentException("form tenantId is null");

View on GitHub (pinned to d6d39ce1c6)