flowable/flowable-engine · error · FlowableIllegalArgumentException
deploymentName is null
Error message
deploymentName is null
What it means
AppDeploymentQueryImpl.deploymentName() throws FlowableIllegalArgumentException when the deploymentName argument is null. The exact-name filter must be a concrete string; null is rejected eagerly by the fluent query API.
Source
Thrown at modules/flowable-app-engine/src/main/java/org/flowable/app/engine/impl/repository/AppDeploymentQueryImpl.java:78
throw new FlowableIllegalArgumentException("Deployment id is null");
}
this.deploymentId = deploymentId;
return this;
}
@Override
public AppDeploymentQueryImpl deploymentIds(List<String> deploymentIds) {
if (deploymentIds == null) {
throw new FlowableIllegalArgumentException("Deployment ids is null");
}
this.deploymentIds = deploymentIds;
return this;
}
@Override
public AppDeploymentQueryImpl deploymentName(String deploymentName) {
if (deploymentName == null) {
throw new FlowableIllegalArgumentException("deploymentName is null");
}
this.name = deploymentName;
return this;
}
@Override
public AppDeploymentQueryImpl deploymentNameLike(String nameLike) {
if (nameLike == null) {
throw new FlowableIllegalArgumentException("deploymentNameLike is null");
}
this.nameLike = nameLike;
return this;
}
@Override
public AppDeploymentQueryImpl deploymentCategory(String deploymentCategory) {
if (deploymentCategory == null) {
throw new FlowableIllegalArgumentException("deploymentCategory is null");View on GitHub (pinned to d6d39ce1c6)
Solutions
- Check name != null before invoking deploymentName.
- Only call deploymentName when the user actually supplied a name filter.
- Use deploymentNameLike only with a non-null pattern.
- Catch FlowableIllegalArgumentException and map to a client validation error.
Example fix
// before query.deploymentName(request.name); // may be null // after if (request.name != null) query.deploymentName(request.name);
Defensive patterns
Strategy: validation
Validate before calling
if (deploymentName != null) query.deploymentName(deploymentName);
Try / catch
try {
query.deploymentName(name);
} catch (org.flowable.common.engine.api.FlowableIllegalArgumentException e) {
logger.warn("Ignoring query: {}", e.getMessage());
query = repoService.createDeploymentQuery(); // rebuild unfiltered
} Prevention
- Guard every optional query filter with a null check
- Normalize empty form fields to null-and-skip semantics
- Centralize filter assembly in a helper that applies guards
When it happens
Trigger: Calling deploymentName(null) with a name sourced from config or a request parameter that is absent.
Common situations: Optional search field in a REST endpoint bound as null, or properties file missing the deployment.name key.
Understand the failure class
Background: "missing required argument" and "the following required arguments were not provided": what required-argument errors mean and how to fix them — this error's family across 20 libraries.
Related errors
- Deployment id is null
- Deployment ids is null
- deploymentNameLike is null
- deploymentCategory is null
- deploymentCategoryExclude is null
AI-assisted analysis of flowable/flowable-engine@d6d39ce1c6 (2026-09-11).
Data as JSON: /api/errors/8deb112891f1627c.
Report an issue: GitHub.