{"record":{"id":"617e627958216f91","repo":"flowable/flowable-engine","slug":"failed-to-load-property-source-from-location-lo","errorCode":null,"errorMessage":"Failed to load property source from location '${location}'","messagePattern":"Failed to load property source from location '(.+?)'","errorType":"exception","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"modules/flowable-spring-boot/flowable-spring-boot-starters/flowable-spring-boot-autoconfigure/src/main/java/org/flowable/spring/boot/environment/FlowableDefaultPropertiesEnvironmentPostProcessor.java","lineNumber":90,"sourceCode":"            }\n\n        }\n\n        void load(String location, PropertySourceLoader loader) {\n            try {\n                Resource resource = resourceLoader.getResource(location);\n                if (!resource.exists()) {\n                    return;\n                }\n                String propertyResourceName = \"flowableDefaultConfig: [\" + location + \"]\";\n\n                List<PropertySource<?>> propertySources = loader.load(propertyResourceName, resource);\n                if (propertySources == null) {\n                    return;\n                }\n                propertySources.forEach(source -> environment.getPropertySources().addLast(source));\n            } catch (Exception ex) {\n                throw new IllegalStateException(\"Failed to load property \"\n                    + \"source from location '\" + location + \"'\", ex);\n            }\n        }\n    }\n}\n","sourceCodeStart":72,"sourceCodeEnd":96,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable-spring-boot/flowable-spring-boot-starters/flowable-spring-boot-autoconfigure/src/main/java/org/flowable/spring/boot/environment/FlowableDefaultPropertiesEnvironmentPostProcessor.java#L72-L96","documentation":"FlowableDefaultPropertiesEnvironmentPostProcessor loads flowable default properties (e.g. from the configured location) into the Spring Environment before context refresh. If loading the resource throws any exception, it is wrapped in this IllegalStateException naming the location. It almost always wraps an underlying cause (unreadable resource, malformed properties, classpath issue).","triggerScenarios":"EnvironmentPostProcessor.load(location) resolves a resource that exists but cannot be loaded: InvalidPropertiesFormatException, IOException, classpath mismatch, or a custom PropertySourceLoader failure while loading propertyResourceName from that resource.","commonSituations":"Corrupt or non-UTF-8 properties/YAML file at the flowable default-properties location; a file specified with the wrong protocol prefix; packaged resource missing from the jar after repackaging; security manager or read permission blocking the resource.","solutions":["Read the wrapped cause in the stack trace — it names the actual loading problem","Verify the resource at the configured location exists, is readable, and parses as valid .properties/.yml","Check the location format in flowable configuration (classpath: vs file: prefix)","Rebuild/repackage the artifact so the resource is actually present in the jar"],"exampleFix":"// before: wrong location\nflowable.default-properties-location=file:application-flowable.prop\n// after: correct extension and prefix\nflowable.default-properties-location=classpath:application-flowable.properties","handlingStrategy":"validation","validationCode":"URL res = getClass().getResource(\"/application-flowable.properties\");\nif (res == null) throw new IllegalStateException(\"flowable properties resource missing\");\nnew Properties().load(res.openStream()); // fails fast with a clear error","typeGuard":"boolean loadable = resource != null && resource.isReadable();","tryCatchPattern":"try { environmentPostProcessor.load(loc, res); } catch (IllegalStateException e) { logger.error(\"cause: {}\", e.getCause(), e); }","preventionTips":["Validate properties files parse before packaging","Use correct classpath:/file: prefixes and extensions","Include resources in build config (maven/gradle resources)","Read the wrapped cause first when debugging"],"tags":["spring-boot","properties","resource-loading"],"backgroundTag":"file-read-failed","analyzedSha":"d6d39ce1c69ff244f2d9dc6af756a9b95e865586","analyzedAt":"2026-09-11T06:41:19.413Z","contentChangedAt":"2026-09-11T06:41:19.413Z","schemaVersion":2},"datasetVersion":"2026-09-18T11:17:12.947Z"}