Update `ClientHttpRequestFactoryBuilder` with a detect method that
accepts a specific classloader and update `HttpClientAutoConfiguration`
to use it.
Fixes gh-44986
Previously, the post-processing of HikariDataSource to apply custom
connection details would trigger an NPE in Hikari if those details
supplied a null driverClassName.
This commit avoids the problem by only setting the driverClassName
when it is non-null.
Closes gh-44997
Add a new `ClientHttpConnectorBuilder` interface to support the
creation of `ClientHttpConnector` instances. The new code is similar
to the `ClientHttpRequestFactoryBuilder` interface that was added to
Spring Boot 3.4.
The `ClientHttpConnectorBuilder` is a functional interface with
additional static factory methods for the various supported
`ClientHttpConnector` types. Each type has it's own builder
which to support client specific customization.
The previous auto-configuration has been relocated to the
`org.springframework.boot.autoconfigure.http.client.reactive`
package and updated to make use of the builder.
Closes gh-43079
Update CassandraRepositoriesAutoConfigurationTests to use the correct
'spring.data.cassandra.repositories.type' property.
See gh-44942
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
This commit deprecates spring.mvc.converters.preferred-json-mapper
and replaces it with spring.http.converters.preferred-json-mapper.
If both properties are specified, the latter takes precedence.
Closes gh-44925
This commit updates `TaskExecutionAutoConfiguration` to permit the
auto-configuration of a `TaskExecutor` even if a user-defined `Executor`
bean is present.
Such `Executor` may have been created for totally unrelated reason, and
it may or may not be an `AsyncTaskExecutor`. The default behavior has
not changed, but this commit provides a new property,
`spring.task.execution.mode` that can be set to `force` to
auto-configure the `TaskExecutor` anyway.
Because this mode made it so that two `Executor` will be present in the
context, this commit also automatically configures an `AsyncConfigurer`
if none is present already to make sure task processing uses the
auto-configured TaskExecutor.
Closes gh-44659
Prior to this commit, the SSL file hot reloading feature would
create file watchers for all configured locations and would resolve
symbolic links if they're found as registrations.
This arrangement would work for typical Let's Encrypt setups, but
would not get notified of consecutive changes for k8s setups.
Kubernetes uses a mix of symlinks and atomic file moves to update
secrets.
This commit not only tracks changes to symlinks targets, but also
to the original symlink.
Closes gh-44807
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
[brian.clozel@broadcom.com: apply code conventions]
Signed-off-by: Brian Clozel <brian.clozel@broadcom.com>
1. Rename `TestConfiguration` to `TestJpaConfiguration` and remove unnecessary reference.
2. Use `withBean` instead of `withUserConfiguration` to avoid new configuration class.
3. Use kebab-case for configuration key
See gh-44800
Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
This commit updates DataSourceTransactionManagerAutoConfiguration to
explicitly states it should run after DataSourceAutoConfiguration.
Closes gh-44810
Previously, spring.groovy.template.configuration properties were
bound directly to GroovyMarkupConfigurer. This meant that the
properties had no description or default values in the metadata.
It also resulted in some duplicate where a specific
spring.groovy.template property was also provided.
This commit deprecates the spring.groovy.template.configuration.*
properties in favour of specific spring.groovy.template.* properties
that are mapped to the GroovyMarkupConfigurer.
Closes gh-44722
This commit isolates JmsAutoConfiguration tests so that they do not
rely on an actual broker. Some tests that are no longer relevant have
been adapted as well.
Closes gh-44734