Refine commit 1e9e1b04d0 since it unfortunately had the side-effect of
disabling logging when a valid `log4j2.xml` file was found.
The updated code uses a similar technique but instead of accepting
'*' as a file type it now looks for `.springboot` (which it finds
because we ship a `log4j2.springboot` file in out JAR.
Rather than exiting Log4J2's `ConfigurationFactory.Factory`
`getConfiguration` method early, our `SpringBootConfigurationFactory`
is now only triggered on the last call to `getConfiguration`.
Closes gh-4809
Add a `TransactionManagerCustomizer` callback interface that can be
used to customize auto-configured `PlatformTransactionManagers`.
Also update `...transaction.*` properties under a single unified
`spring.transaction...` key since the existing auto-configurations
would often share a transaction manager (the technology specific
transaction managers are `@ConditionalOnMissingBean` and may use
a manager created by a previous auto-configuration).
See gh-7561
Update ClassLoaderFilesResourcePatternResolver to support servlet
resources when it's being used with a WebApplicationContext.
Prior to commit 918e122ddc a `ResourceLoader` was not added to the
`ApplicationContext`, meaning that servlet resources could be found by
virtue of the protected `getResourceByPath()` method. Following commit
918e122ddc, the context `ResourceLoader` is set, meaning that all calls
to `getResource` delegate to the `ResourceLoader` and the
`ApplicationContext` methods are not invoked. Since the devtools
`ResourceLoader` wasn't Servlet aware, servlet resources could not
be found.
Fixes gh-7752
This commit moves the `MultiMetricRepository` implementation from
`InMemoryMetricRepository` to `InMemoryMultiMetricRepository`. Both
implementations can share the same underlying store (and are for backward
compatible reasons).
The side effect is that `reset` now works as expected for a group.
Closes gh-7687
This commit allows to define `server.port` in a non-embedded web
environment. Previously, `server.port` would have been set to `-1`
regardless.
Closes gh-7353
Add a Log4J2 `ConfigurationFactory` that is always applied so that the
"No log4j2 configuration file found" error message does not appear.
Although the message was harmless it was quite annoying to Spring Boot
users who could safely omit the file.
Fixes gh-4809
Update Log4J2 configurations to respect `FILE_LOG_PATTERN` and
`CONSOLE_LOG_PATTERN` system properties. These system properties are
set by `LoggingSystemProperties` from `logging.pattern.file` and
`logging.pattern.console` properties in the Spring Environment.
Fixes gh-7757
Consistently use the simple name for ObjectProvider parameter and
field names. For example:
`ObjectProvider<Something> something`
rather than
`ObjectProvider<Something> somethingProvider`
Update Maven plugin to inform the BuildContext when changes are made to
the `build-info` file. Prior to this commit Eclipse could continually
trigger refreshes whenever "Refresh using native hooks or polling" was
enabled and the file was written to `src/main/resources`.
Closes gh-7741
This commit aligns the mapping from library to name to the default
behaviour of the `maven-war-plugin`. Previously, our plugin would use
the full version of the library (i.e. including build timestamp if there
is one), rather than using the `baseVersion` property.
Closes gh-7743
Since the `JestClient` is auto-configured as a bean, it must have its
multi-threaded support enabled by default. This commit exposes a new
`spring.elasticsearch.jest.multi-threaded` property that is `true` by
default.
Closes gh-6806