{"record":{"id":"43e8bc4b9659a73a","repo":"flowable/flowable-engine","slug":"setting-a-deployment-name-is-not-supported-for-app","errorCode":null,"errorMessage":"Setting a deployment name is not supported for apps","messagePattern":"Setting a deployment name is not supported for apps","errorType":"exception","errorClass":"FlowableException","httpStatus":null,"severity":"error","filePath":"modules/flowable-app-engine-spring/src/main/java/org/flowable/app/spring/SpringAppEngineConfiguration.java","lineNumber":226,"sourceCode":"        synchronized (lifeCycleMonitor) {\n            running = false;\n        }\n    }\n\n    @Override\n    public boolean isRunning() {\n        return running;\n    }\n\n    @Override\n    public String getDeploymentName() {\n        return null;\n    }\n\n    @Override\n    public void setDeploymentName(String deploymentName) {\n        // not supported\n        throw new FlowableException(\"Setting a deployment name is not supported for apps\");\n    }\n}\n","sourceCodeStart":208,"sourceCodeEnd":229,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable-app-engine-spring/src/main/java/org/flowable/app/spring/SpringAppEngineConfiguration.java#L208-L229","documentation":"SpringAppEngineConfiguration intentionally rejects setDeploymentName: app deployments do not use the configurable deployment-name mechanism that other Flowable engines support. The setter is overridden only to fail fast with this FlowableException so callers learn the option is unsupported rather than silently ignored.","triggerScenarios":"Calling setDeploymentName(...) on a SpringAppEngineConfiguration (directly, or via shared configuration-building code that sets deploymentName for any engine type) before building the AppEngine.","commonSituations":"Reusing a generic Spring Boot / Flowable configuration property (e.g. flowable.process.deployment-name style properties) across app-engine configuration; copy-pasting engine config code from process/cmmn engines to the app engine.","solutions":["Remove the setDeploymentName call / deployment-name property from the app engine configuration.","Guard shared configuration code so deploymentName is only set for engines that support it (e.g. check instanceof before calling).","If a distinguishable deployment name is needed, rely on the app deployment's built-in naming instead of this API."],"exampleFix":"// before\nSpringAppEngineConfiguration cfg = new SpringAppEngineConfiguration();\ncfg.setDeploymentName(\"myAppDeployment\");\n// after\nSpringAppEngineConfiguration cfg = new SpringAppEngineConfiguration();\n// deployment name is not supported for the app engine; remove the call","handlingStrategy":"validation","validationCode":"if (config instanceof SpringAppEngineConfiguration) {\n    // do NOT call setDeploymentName on the app engine\n}","typeGuard":"if (config instanceof SpringAppEngineConfiguration) { skipDeploymentName(); } else { config.setDeploymentName(name); }","tryCatchPattern":"try { config.setDeploymentName(name); } catch (FlowableException e) { log.warn(\"deploymentName unsupported for this engine, ignoring\"); }","preventionTips":["Never apply process/cmmn engine deployment-name properties to the app engine","Centralize engine configuration in type-specific builders","Grep config code for setDeploymentName when switching engine types"],"tags":["unsupported-operation","configuration","app-engine"],"backgroundTag":"unsupported-operation","analyzedSha":"d6d39ce1c69ff244f2d9dc6af756a9b95e865586","analyzedAt":"2026-09-11T06:41:19.413Z","contentChangedAt":"2026-09-11T06:41:19.413Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}