flowable/flowable-engine · error · FlowableIllegalArgumentException

There is no engine configuration for scope ${engineScopeType

Error message

There is no engine configuration for scope ${engineScopeType}

What it means

FlowableIllegalArgumentException from SchemaOperationsEngineBuild.execute: the command looks up the engine configuration registered under engineScopeType in CommandContext.getEngineConfigurations() and finds none. The requested scope (e.g. 'process', 'cmmn', 'app') has no engine configuration registered, so no schema can be built.

Source

Thrown at modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/db/SchemaOperationsEngineBuild.java:52

    protected final String engineScopeType;
    protected final String schemaOperation;

    public SchemaOperationsEngineBuild(String engineScopeType) {
        this(engineScopeType, null);
    }

    public SchemaOperationsEngineBuild(String engineScopeType, String schemaOperation) {
        this.engineScopeType = engineScopeType;
        this.schemaOperation = schemaOperation;
    }

    @Override
    public Void execute(CommandContext commandContext) {

        AbstractEngineConfiguration engineConfiguration = commandContext.getEngineConfigurations()
                .get(engineScopeType);
        if (engineConfiguration == null) {
            throw new FlowableIllegalArgumentException("There is no engine configuration for scope " + engineScopeType);
        }

        String databaseSchemaUpdate = schemaOperation == null ? engineConfiguration.getDatabaseSchemaUpdate() : schemaOperation;
        List<SchemaManager> schemaManagers = new ArrayList<>();
        if (engineConfiguration.getCommonSchemaManager() != null) {
        	schemaManagers.add(engineConfiguration.getCommonSchemaManager());
        }
        schemaManagers.add(engineConfiguration.getSchemaManager());

        Map<String, SchemaManager> additionalSchemaManagers = engineConfiguration.getAdditionalSchemaManagers();

        if (additionalSchemaManagers != null) {
            schemaManagers.addAll(additionalSchemaManagers.values());
        }

        executeSchemaUpdate(schemaManagers, databaseSchemaUpdate);

        return null;

View on GitHub (pinned to d6d39ce1c6)

Solutions

  1. Register the missing engine configuration for that scope (e.g. add the CMMN/DMN engine config to the process engine configuration's engineConfigurations).
  2. Verify the exact scope-type string/constant matches the key used at registration.
  3. Ensure the corresponding Flowable engine module dependency is present and initialized before schema operations run.
  4. Use the engine's standard bootstrap (buildXxxEngine) instead of invoking SchemaOperationsEngineBuild manually.

Example fix

// before
commandExecutor.execute(new SchemaOperationsEngineBuild("cmmn")); // cmmn config never registered
// after
CmmnEngineConfiguration.createDefault().buildEngine(); // registers config and builds schema
Defensive patterns

Strategy: validation

Validate before calling

if (!commandContext.getEngineConfigurations().containsKey(engineScopeType)) {
  throw new IllegalStateException("Register engine configuration for scope " + engineScopeType + " before schema build");
}

Try / catch

catch (FlowableIllegalArgumentException e) { if (e.getMessage().startsWith("There is no engine configuration for scope")) { /* register the engine config */ } throw e; }

Prevention

When it happens

Trigger: Executing SchemaOperationsEngineBuild (schema bootstrap command) with an engineScopeType string for which no AbstractEngineConfiguration was registered in the engine configurations map: typo in scope type, engine module not on classpath/configured, or the command run before that engine's configuration init registered itself.

Common situations: Manually wiring multi-engine (process/cmmn/dmn) bootstrapping and omitting one engine's configuration; copy-pasting the scope-type constant incorrectly; invoking schema commands programmatically in a custom setup without registering all configurations.

Related errors


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