Previously, if Jackson was on the classpath but no JsonMapper bean
was present, the app would fail to start. This commit updates
the auto-configuration so that the parts that require a JsonMapper
bean back of when no such bean is present.
The sample problem also exists with Jackson 2 and an ObjectMapper
bean. This commit also corrects that.
Fixes gh-49749
Previously, the absence of Jackson would result in the loss of
some configuration that does not depend on Jackson. That
configuration is:
- the inbound and outbound channels' executors
- the bean that forces the stompWebSocketHandlerMapping bean to be
eager when lazy init is enabled
This commit updates the auto-configuration so that only the Jackson
message converter configuration backs off in Jackson's absence.
Fixes gh-49750
Reactive SecurityService#getUaaUrl() creates a new Mono on each
invocation, so the resolved UAA URL is not reused across calls. During
token validation, this can lead to duplicate /info requests when token
keys are fetched and the issuer is validated in the same flow.
Cache the resolved UAA URL after a successful lookup and add regression
tests that verify reuse after success and retry after failure.
Signed-off-by: LeeJiWon <dlwldnjs1009@gmail.com>
* apply-keepalive-settings:
Polish "Add server-side support for custom gRPC conventions"
Add server-side support for custom gRPC conventions
Closes gh-49730
In this commit, we make `GrpcServerObservationAutoConfiguration` and
`GrpcClientObservationAutoConfiguration` consistent by supporting a
custom `GrpcClientObservationConvention` and adding the
`@ConditionalOnMissingBean` annotation to the
`observationGrpcServerInterceptor` bean.
See gh-49730
Signed-off-by: Andrey Litvitski <andrey1010102008@gmail.com>
Update `spring-boot-configuration-processor` to support method-level
`@NestedConfigurationProperty` annotations when constructor binding
is being used.
Fixes gh-49734
Update `spring.data.jpa.repositories.bootstrap-mode` logic
so that:
- A value of `lazy` no longer sets a bootstrap executor.
- A value of `deferred` requires that a bootstrap executor is
ultimately set, and fails with a meaningful message if it is
not.
The logic used to find the AsyncTaskExecutor has now moved to
the `JpaBaseConfiguration` and is triggered by the
`EntityManagerFactoryBuilder` only when background
bootstrapping is required.
Closes gh-49688
Update `ConfigDataEnvironment` to restore previous property override
behavior by correctly grouping the initial `ConfigDataContributor`
instances.
This regression was cause by the polish commit 646db448 which attempted
to simplify the fix for gh-49324 by including all initial contributors
in a single contributor node. This change inadvertently changed the
iteration order for the `spring.config.location` and
`spring.config.additional-location` properties which still need to
be expanded and added in reverse order.
Fixes gh-49724