flowable/flowable-engine · error · FlowableException
Could not find org.flowable.http.HttpActivityBehavior:
Error message
Could not find org.flowable.http.HttpActivityBehavior:
What it means
For an HTTP service task whose class delegate is used, DefaultCmmnActivityBehaviorFactory.createHttpActivityBehavior tries to load the HttpActivityBehavior class via ClassUtils. If the class is not on the classpath (ClassNotFoundException) it throws this FlowableException naming org.flowable.http.HttpActivityBehavior.
Source
Thrown at modules/flowable-cmmn-engine/src/main/java/org/flowable/cmmn/engine/impl/parser/DefaultCmmnActivityBehaviorFactory.java:192
theClass = Class.forName(fieldExtension.getStringValue());
behaviorExtension = fieldExtension;
break;
}
}
if (behaviorExtension != null) {
task.getFieldExtensions().remove(behaviorExtension);
}
// Default Http behavior class
if (theClass == null) {
return createDefaultHttpActivityBehaviour(planItem, task);
}
return classDelegateFactory.create(theClass.getName(), task.getFieldExtensions());
} catch (ClassNotFoundException e) {
throw new FlowableException("Could not find org.flowable.http.HttpActivityBehavior: ", e);
}
}
protected CmmnActivityBehavior createDefaultHttpActivityBehaviour(PlanItem planItem, ServiceTask serviceTask) {
if (ImplementationType.IMPLEMENTATION_TYPE_CLASS.equals(serviceTask.getImplementationType())) {
return createCmmnClassDelegate(planItem, serviceTask);
} else if (ImplementationType.IMPLEMENTATION_TYPE_DELEGATEEXPRESSION.equals(serviceTask.getImplementationType())) {
return createPlanItemDelegateExpressionActivityBehavior(planItem, serviceTask);
} else {
return classDelegateFactory.create(DefaultCmmnHttpActivityDelegate.class.getName(), serviceTask.getFieldExtensions());
}
}
@Override
public CmmnActivityBehavior createEmailActivityBehavior(PlanItem planItem, ServiceTask task) {
return classDelegateFactory.create(CmmnMailActivityDelegate.class.getName(), task.getFieldExtensions());
}
View on GitHub (pinned to d6d39ce1c6)
Solutions
- Add the flowable-http module dependency (org.flowable:flowable-http) matching your Flowable version.
- Remove/replace the HTTP service task in the CMMN model if HTTP calls aren't needed.
- If using a custom behavior class, fix the class reference so it points to an existing class on the classpath.
- Check for shaded/moved packages after upgrading Flowable (class relocation).
Example fix
// before
<dependency><groupId>org.flowable</groupId><artifactId>flowable-cmmn-engine</artifactId></dependency>
// after
<dependency><groupId>org.flowable</groupId><artifactId>flowable-cmmn-engine</artifactId></dependency>
<dependency><groupId>org.flowable</groupId><artifactId>flowable-http</artifactId><version>${flowable.version}</version></dependency> Defensive patterns
Strategy: validation
Validate before calling
try {
Class.forName("org.flowable.http.HttpActivityBehavior");
} catch (ClassNotFoundException e) {
throw new IllegalStateException("Add org.flowable:flowable-http to the classpath");
} Try / catch
try { deploy(...); } catch (FlowableException e) { if (e.getMessage().startsWith("Could not find org.flowable.http.HttpActivityBehavior")) { /* add flowable-http dependency */ } throw e; } Prevention
- Include flowable-http whenever CMMN models use HTTP tasks.
- Keep engine module versions aligned on upgrades.
- Scan deployed models for HTTP tasks during startup and fail fast with a clear message.
- Avoid hardcoding class-delegate class names that may be relocated between versions.
When it happens
Trigger: A CMMN model contains an HTTP service task (or a class reference to an HttpActivityBehavior) but the flowable-http module is not on the runtime classpath, so the class-delegate class cannot be loaded.
Common situations: Missing org.flowable:flowable-http dependency in the application; deployment moved to a slimmer runtime without the http module; version mismatch where the class was relocated/renamed across Flowable versions.
Related errors
- Could not find org.flowable.http.HttpActivityBehavior:
- CMND XSD could not be found
- problem retrieving flowable.cmmn.cfg.xml resources on the cl
- problem retrieving flowable-cmmn-context.xml resources on th
- Form engine is not initialized
AI-assisted analysis of flowable/flowable-engine@d6d39ce1c6 (2026-09-11).
Data as JSON: /api/errors/0d17fde1321fd280.
Report an issue: GitHub.