flowable/flowable-engine · error · ActivitiIllegalArgumentException

deploymentNameLike is null

Error message

deploymentNameLike is null

What it means

DeploymentQueryImpl.deploymentNameLike() throws ActivitiIllegalArgumentException when the nameLike argument is null. A 'like' filter needs a pattern string; null is rejected up front instead of being interpreted as a wildcard or no-op filter.

Source

Thrown at modules/flowable5-engine/src/main/java/org/activiti/engine/impl/DeploymentQueryImpl.java:75

            throw new ActivitiIllegalArgumentException("Deployment id is null");
        }
        this.deploymentId = deploymentId;
        return this;
    }

    @Override
    public DeploymentQueryImpl deploymentName(String deploymentName) {
        if (deploymentName == null) {
            throw new ActivitiIllegalArgumentException("deploymentName is null");
        }
        this.name = deploymentName;
        return this;
    }

    @Override
    public DeploymentQueryImpl deploymentNameLike(String nameLike) {
        if (nameLike == null) {
            throw new ActivitiIllegalArgumentException("deploymentNameLike is null");
        }
        this.nameLike = nameLike;
        return this;
    }

    @Override
    public DeploymentQueryImpl deploymentCategory(String deploymentCategory) {
        if (deploymentCategory == null) {
            throw new ActivitiIllegalArgumentException("deploymentCategory is null");
        }
        this.category = deploymentCategory;
        return this;
    }

    @Override
    public DeploymentQueryImpl deploymentCategoryNotEquals(String deploymentCategoryNotEquals) {
        if (deploymentCategoryNotEquals == null) {
            throw new ActivitiIllegalArgumentException("deploymentCategoryExclude is null");

View on GitHub (pinned to d6d39ce1c6)

Solutions

  1. Pass a non-null pattern, e.g. deploymentNameLike("%" + term + "%") with term non-null
  2. Only call deploymentNameLike() when the search term is present
  3. Default the term to an empty-safe value before building the pattern
  4. Check upstream normalization code that should turn missing input into a defined value

Example fix

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

Strategy: validation

Validate before calling

if (nameLike == null) { throw new IllegalArgumentException("nameLike must not be null"); }
repositoryService.createDeploymentQuery().deploymentNameLike(nameLike)...

Type guard

boolean hasText(String s) { return s != null && !s.trim().isEmpty(); }

Try / catch

try {
    repositoryService.createDeploymentQuery().deploymentNameLike(pattern).list();
} catch (ActivitiIllegalArgumentException e) {
    log.error("nameLike pattern was null", e);
}

Prevention

When it happens

Trigger: Calling repositoryService.createDeploymentQuery().deploymentNameLike(null), e.g. building a pattern via String.format/concat where the input prefix is null, or forwarding an optional search term unchecked.

Common situations: Dynamic search builders that always call every filter method; null search terms from web forms; concatenation producing null when the base variable is null.

Related errors


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