flowable/flowable-engine · error · IllegalStateException
Usage of deprecated property. Use FlowableProcessProperties
Error message
Usage of deprecated property. Use FlowableProcessProperties
What it means
FlowableProperties.getRestApiMapping() is a deprecated Spring Boot configuration property getter that has been hardened to throw IllegalStateException on any access. Flowable migrated the flowable.rest-api-mapping property to FlowableProcessProperties (flowable.process.servlet.path) and deliberately fails fast so stale configuration is detected instead of silently ignored. The throw is intentional, not a bug.
Solutions
- Remove flowable.rest-api-mapping from application.properties/yml and replace with flowable.process.servlet.path
- Replace any direct calls to getRestApiMapping() with injection of FlowableProcessProperties and processProperties.getServlet().getPath()
- Rebuild/re-run the app; check startup logs for which property key triggered binding
Example fix
// before (application.yml)
flowable:
rest-api-mapping: /process-api
// after
flowable:
process:
servlet:
path: /process-api Defensive patterns
Strategy: validation
Validate before calling
if (env.containsProperty("flowable.rest-api-mapping")) {
throw new IllegalStateException("Replace flowable.rest-api-mapping with flowable.process.servlet.path");
} Prevention
- Grep config files for deprecated flowable.rest-api-* keys before upgrading
- Use @DeprecatedConfigurationProperty replacements as a migration checklist
- Keep Flowable migration notes per release when bumping versions
When it happens
Trigger: Spring Boot configuration-property binding or metadata processing accesses the getter flowable.rest-api-mapping on FlowableProperties — e.g. a application.properties/yml still defining flowable.rest-api-mapping, or code calling flowableProperties.getRestApiMapping() directly.
Common situations: Upgrading Flowable (6.x -> 7.x / Spring Boot 3) with old flowable.rest-api-mapping keys left in application.yml; IDE auto-completion or generated configuration metadata still referencing the deprecated property; custom auto-configuration code reading the old getter.
Understand the failure class
Background: "is deprecated and will be removed" — deprecation warnings for old API names, keywords, and options, and how to migrate before the removal release — this error's family across 29 libraries.
Related errors
- A channel key detection value is required for the channel…
- A datasource is required for initializing the engine
- BPMN engine has not been initialized
- Builder is missing constructor (can't pass features)
- Cannot migrate process(es), not enough information
AI-assisted analysis of flowable/flowable-engine@d6d39ce1c6 (2026-09-11).
Data as JSON: /api/errors/d04ff4179aa8dd95.
Report an issue: GitHub.
Appendix: source
Thrown at modules/flowable-spring-boot/flowable-spring-boot-starters/flowable-spring-boot-autoconfigure/src/main/java/org/flowable/spring/boot/FlowableProperties.java:184
public void setRestApiEnabled(boolean restApiEnabled) {
this.restApiEnabled = restApiEnabled;
}
public boolean isJpaEnabled() {
return jpaEnabled;
}
public void setJpaEnabled(boolean jpaEnabled) {
this.jpaEnabled = jpaEnabled;
}
/**
* @deprecated use {@link org.flowable.spring.boot.process.FlowableProcessProperties#getServlet()#getPath()}
*/
@DeprecatedConfigurationProperty(replacement = "flowable.process.servlet.path")
@Deprecated
public String getRestApiMapping() {
throw new IllegalStateException("Usage of deprecated property. Use FlowableProcessProperties");
}
/**
* @deprecated use {@link org.flowable.spring.boot.process.FlowableProcessProperties#getServlet()#setPath()}
*/
@Deprecated
public void setRestApiMapping(String restApiMapping) {
throw new IllegalStateException("Usage of deprecated property. Use FlowableProcessProperties");
}
/**
* @deprecated use {@link org.flowable.spring.boot.process.FlowableProcessProperties#getServlet()#getName()}
*/
@DeprecatedConfigurationProperty(replacement = "flowable.process.servlet.name")
@Deprecated
public String getRestApiServletName() {
throw new IllegalStateException("Usage of deprecated property. Use FlowableProcessProperties");
}View on GitHub (pinned to d6d39ce1c6)