Configuration, XML & resources
Know which physical files are watched, how validation works, and when a configuration edit needs a restart.
Properties: validate before applying
In the non-SAP Boot path, a saved candidate is bound/converted/validated on separate objects before changing live values. If a timeout is invalid, another valid key in that candidate does not get applied first. Fix the invalid value and save again to retry the pending keys.
svc.url=https://example.com/api
svc.timeout=30A clean precheck is not rollback for arbitrary constructors, converters, validators or setters. Application-time failures can partially change values and are reported as partial. Uncheckable candidates keep the old values and remain pending.
Direct @Value fields can update in place; supported constructor-bound and factory-argument consumers can be recreated. Computed expressions have a restricted evaluator/check path. A connection pool or other startup-only consumer is not automatically rebuilt because the Environment changed.
YAML, removed keys and source precedence
Already-loaded local Boot properties/YAML resources are identified from native origins. Supported saves replace those sources at their existing precedence positions. Higher-priority command-line values still win; an inactive profile file is not promoted into a new override.
Deleting a key can reveal a lower-priority value or default. Mutable property beans retain their identity through supported removal rebinding, though nested objects can be replaced. Emptying/deleting/restoring a recognized single-document resource has a bounded path.
Malformed input and invalid conversion preserve old sources. Changing config imports/locations, profile activation/groups, cloud-platform selection or the active document set needs restart. New/unowned resources, custom loaders and changed source ownership are outside that path.
Spring XML: loaded resource ownership
Alongside *-spring.xml, the agent captures local XML files actually loaded by a live context after its reader hook starts, including nested imports. It uses resolved file and context ownership, not just the filename.
Supported property edits update ordinary beans in place. A resolution, conversion or setter failure retains the previous raw property definition and reports the failure; independent properties/beans may still update. Setter side effects are not rolled back. Cold lazy beans retain native deferred validation.
Captured files outside watch roots are polled individually. JAR entries, remote XML and files loaded before the hook are not included. A new import topology is not a complete live context rebuild.
Existing XML singletons: bounded recreation
Supported changes to existing constructor arguments, public factory selection and explicit init/destroy metadata can recreate a plain singleton through Spring. Writable direct singleton-holder fields can be repaired; supported plain dependents are recreated too. Unchanged definitions do not trigger recreation.
Preflight requires the same concrete product type, exact file ownership and stable class/factory-bean/alias metadata. FactoryBean products, resource owners such as DataSource/Executor/AutoCloseable, proxies and unsupported nested compositions are refused. Known final or collection/map/array holders block the supported recreation path before destruction.
Changes to scope, parent, alias, depends-on, primary, autowire/autowire-candidate or effective lazy policy require the reported restart. New constructor/factory/lifecycle definitions and bean removal remain outside the recreation increment. A proven unchanged unsupported definition stays quiet on a no-op save.
On failed creation, restoration can be attempted and can fail itself. It is not rollback of lifecycle or constructor side effects. The recreation extension is observed on Spring 5.3.39 / JDK 21, including child loaders; other versions/SAP runtime/JDK 17 require separate proof for that extension.
Message bundles and templates
Recognized physical message resources invalidate native caches. Current evidence observes ResourceBundleMessageSource and ReloadableResourceBundleMessageSource on Framework 5.3.39/6.1.14, including UTF-8 and fallback keys. Arbitrary custom message basenames are not automatically discovered.
Native file-template rendering is observed with FreeMarker 2.3.34 and Thymeleaf 3.1.3.RELEASE with FileTemplateResolver/standard dialect. A malformed template can fail rendering; fixing it recovers. Last-valid-template retention is not promised.
Edit the actual runtime resource. Automatic copying from a source resource directory, packaged JAR/WAR resources, custom resolvers/dialects and full MVC view integration are not established by these fixtures.
Logging configuration
Supported logging.level.* properties and saved logback.xml/log4j2.xml can update the running logging context. Removal without a lower configured level can still require a reset/restart. On SAP Commerce, use the platform logger-property pair described in its guide.
Recognition is not universal file watching
The source classifier sends recognized kinds to different handlers. Recognition still needs an enabled handler, a watched/owned physical resource and its documented framework prerequisites.
| File or ownership | Meaning |
|---|---|
.class / .java | Compiled reload / optional source compilation. Without AutoCompile, build the source yourself. |
*-spring.xml or captured local Spring XML | Guarded bean-definition path, not arbitrary XML topology refresh. |
*-items.xml / *-beans.xml | SAP code generation; schema and reflection remain separate. |
.properties / .yml / .yaml | Platform-specific configuration; recognized message/locale names take priority. |
messages[_locale].properties / ValidationMessages[_locale].properties | Text/cache invalidation, not general Environment configuration. |
.ftl, .ftlh, .html, .htm | Template handler classification; only the documented engine/resolver lanes are accepted. |
| Recognized Logback / Log4j2 XML names | Logging reconfiguration, ahead of generic XML rules. |
.impex | Opt-in live import with separate REMOVE permission. |
*-backoffice-config.xml / owned process XML | Backoffice cache reset / process diagnostic-only path, respectively. |
| Unknown kinds | No Reclazz handler. Another framework may independently serve them; that is separate behavior. |
Sources & version scope
Documentation source 1.4.0 · evidence baseline 75535bd · reviewed 19 October 2026. Check your installed artifact; source features may postdate a release.