flowable/flowable-engine · error · FlowableException

no session factory configured for

Error message

no session factory configured for 

What it means

Failure in CommandContext.getSession: a session of the requested type is requested but no SessionFactory is registered for that session class in the engine configuration, meaning the persistence/service layer is incompletely wired (custom engine or missing module).

Solutions

  1. Register a SessionFactory for the missing session type in the engine configuration
  2. Verify all engine modules/dependencies are on the classpath when bootstrapping the engine
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/interceptor/CommandContext.java:280 when the library encounters an invalid state.

Common situations: See trigger scenarios.


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

Appendix: source

Thrown at modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/interceptor/CommandContext.java:280

    }

    public void removeAttribute(String key) {
        if (attributes != null) {
            attributes.remove(key);

            if (attributes.isEmpty()) {
                attributes = null;
            }
        }
    }
    
    @SuppressWarnings({ "unchecked" })
    public <T> T getSession(Class<T> sessionClass) {
        Session session = sessions.get(sessionClass);
        if (session == null) {
            SessionFactory sessionFactory = sessionFactories.get(sessionClass);
            if (sessionFactory == null) {
                throw new FlowableException("no session factory configured for " + sessionClass.getName());
            }
            session = sessionFactory.openSession(this);
            sessions.put(sessionClass, session);
        }

        return (T) session;
    }

    public Map<Class<?>, SessionFactory> getSessionFactories() {
        return sessionFactories;
    }
    
    public void setSessionFactories(Map<Class<?>, SessionFactory> sessionFactories) {
        this.sessionFactories = sessionFactories;
    }   

    public Map<String, AbstractEngineConfiguration> getEngineConfigurations() {
        return engineConfigurations;

View on GitHub (pinned to d6d39ce1c6)