Update `ImportAutoConfigurationImportSelector` to ignore excludes for
classes that aren't loaded. Since the import classes for tests tend to
be much more limited, the exception isn't really helpful.
Closes gh-6809
Update `CacheManagerCustomizers` to deal directly with
`ClassCastException` assuming that they are because a customizer is
implemented using a lambda.
Closes gh-7788
Update `CacheManagerCustomizers` to deal directly with
`ClassCastException` assuming that they are because a customizer is
implemented using a lambda.
Closes gh-7788
Update `@ImportAutoConfiguration` with support for an exclude attribute
that works in a similar way to `@EnableAutoConfiguration`.
Also update existing `@Test...` annotation with exclude attribute
aliases.
Fixes gh-6809
Update `TransactionManagerCustomizers` to deal directly with
`ClassCastExceptions` assuming that they are because a customizer is
implemented using a lambda.
See gh-7561
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