This commit makes sure that if a `javax.cache.CacheManager` is required,
an auto-configured `HazelcastInstance` is fully resolved first. This
prevents the case where the JCache bootstrap actually starts an instance
early, followed by a second (potentially unwanted) instance created by the
regular auto-configuration.
Since the JCache implementation works with an `HazelcastInstance` behind
the scenes, if there is one `HazelcastInstance` configured and it has a
name, then we configure the `CacheProvider` to use that. Future Hazelcast
version will allow to pass the instance directly (i.e. not requiring an
actual name).
Closes gh-8484
The changes made for gh-8299 attempted to make static resource
handling consistent across Jetty, Tomcat, and Undertow. They did so
for application's launched using JarLauncher or WarLauncher but did
not consider application's launched in an IDE or using spring-boot:run
in Maven or bootRun in Gradle.
Running in an IDE or via Maven or Gradle introduces two new
resource locations:
- Jars on the classpath with file protocol URLs (they are always
jar protocol URLs when using either launcher)
- Directories on the classpath from a project that is depended upon
and contains resources in META-INF/resources
This commit updates the factories for all three containers to handle
these new resources locations. The integration tests have also been
updated.
Update the YAML parser so that origin information can be tracked.
Line and column numbers are now available for each loaded property
value.
Fixes gh-8142
Use a custom parser to load `.properties` files so that origin
information can be tracked. Line and column numbers are now available
for each loaded property value.
Fixes gh-8517
Add `OriginTrackedMapPropertySource` that can be used for any `Map`
backed `PropertySource` that is also aware property origins. Rather than
directly storing the value in the `Map`, an `OriginTrackedValue` can
be used.
See gh-8142
See gh-8517