flowable/flowable-engine · critical · FlowableException
problem retrieving flowable-registry-context.xml resources o
Error message
problem retrieving flowable-registry-context.xml resources on the classpath:
What it means
EventRegistryEngines.init() also enumerates flowable-eventregistry-context.xml Spring-configuration resources to initialize the engine from Spring beans. An IOException from classLoader.getResources is wrapped in a FlowableException with the classpath appended. As with the cfg.xml case, this reflects a classpath I/O failure during engine bootstrap, not a missing resource.
Source
Thrown at modules/flowable-event-registry/src/main/java/org/flowable/eventregistry/impl/EventRegistryEngines.java:79
} catch (IOException e) {
throw new FlowableException("problem retrieving flowable.registry.cfg.xml resources on the classpath: " + System.getProperty("java.class.path"), e);
}
// Remove duplicated configuration URL's using set. Some
// classloaders may return identical URL's twice, causing duplicate startups
Set<URL> configUrls = new HashSet<>();
while (resources.hasMoreElements()) {
configUrls.add(resources.nextElement());
}
for (URL resource : configUrls) {
LOGGER.info("Initializing event registry engine using configuration '{}'", resource);
initEventRegistryEngineFromResource(resource);
}
try {
resources = classLoader.getResources("flowable-eventregistry-context.xml");
} catch (IOException e) {
throw new FlowableException("problem retrieving flowable-registry-context.xml resources on the classpath: " + System.getProperty("java.class.path"), e);
}
while (resources.hasMoreElements()) {
URL resource = resources.nextElement();
LOGGER.info("Initializing event registry engine using Spring configuration '{}'", resource);
initEventRegistryEngineFromSpringResource(resource);
}
setInitialized(true);
} else {
LOGGER.info("Event registry engines already initialized");
}
}
protected static void initEventRegistryEngineFromSpringResource(URL resource) {
try {
Class<?> springConfigurationHelperClass = ReflectUtil.loadClass("org.flowable.eventregistry.impl.spring.SpringEventRegistryConfigurationHelper");
Method method = springConfigurationHelperClass.getDeclaredMethod("buildEventRegistryEngine", new Class<?>[] { URL.class });View on GitHub (pinned to d6d39ce1c6)
Solutions
- Validate all classpath entries listed in the message and fix or remove corrupt/unreadable ones.
- Re-deploy or rebuild the artifact to restore intact jars.
- If using a custom classloader, ensure getResources works for this resource name and protocol.
- Check Java security policy if a SecurityManager might block resource enumeration.
Example fix
// before classpath contains truncated spring-context resource jar // after verify with: jar tf libs/app-spring.jar | grep flowable-eventregistry-context.xml rebuild: mvn clean install
Defensive patterns
Strategy: try-catch
Validate before calling
URL res = getClass().getClassLoader().getResource("flowable-eventregistry-context.xml");
if (res == null) log.warn("No flowable-eventregistry-context.xml on classpath (Spring init will be skipped)"); Try / catch
try {
EventRegistryEngines.getAppEngine();
} catch (FlowableException e) {
if (e.getMessage().startsWith("problem retrieving flowable-registry-context.xml")) {
log.error("Classpath I/O failure during Spring resource scan: " + e.getMessage(), e);
}
throw e;
} Prevention
- Verify jars are intact after build/deploy
- Check classloader behavior when using custom loaders or OSGi
- Validate classpath entries in startup health checks
- Rebuild artifacts rather than patching deployed jars
When it happens
Trigger: Engine initialization (EventRegistryEngines.init, reached via getAppEngine) when getResources('flowable-eventregistry-context.xml') throws IOException due to damaged classpath entries or failing classloaders.
Common situations: Spring integration setups where the context resource scan fails because of corrupt jars on the classpath, restricted security managers, or custom classloaders that throw on enumeration.
Related errors
- problem retrieving flowable-app-context.xml resources on the
- problem retrieving flowable.registry.cfg.xml resources on th
- problem retrieving flowable-idm-context.xml resources on the
- problem retrieving flowable.app.cfg.xml resources on the cla
- couldn't initialize app engine from spring configuration res
AI-assisted analysis of flowable/flowable-engine@d6d39ce1c6 (2026-09-11).
Data as JSON: /api/errors/846329d7bf38cbdb.
Report an issue: GitHub.