This commit guards the creation of a ReactiveJwtDecoder with the
presence of Spring WebFlux. WebClient is used behind the scenes and
the sole presences of the authorization server and reactive types were
not precise enough.
Closes gh-49807
Replace `PropertyBasedRequiredBackgroundBootstrapping` with a simpler
`BootstrapExecutorRequiredException` and use a regular failure analyzer
to provide help.
See gh-49733
See gh-49688
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
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>
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.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
This commit aligns convention for configuration properties description:
- Do not start with 'The' or 'A'.
- Do not document default value when it is specified.
- Document default change to unit