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
Add auto-configuration to integrate gRPC server applications
with Spring Security. This commit provides both standard
Spring Security support as well as OAuth support.
Closes gh-49047
Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
Throw an error is a Spring gRPC Servlet based server application
has forgotten to configure HTTP/2 support.
There is also the option of suppressing the error if HTTP/2 has
been configured directly and not using the configuration property.
Closes gh-49050
Add integration between Spring Boot's health module and gRPC
health checking service support.
Closes gh-49048
Co-authored-by: Chris Bono <chris.bono@broadcom.com>
Add a testing module that can be used for testing Spring gRPC
server or client applications.
Closes gh-49046
Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
Given that the prefix for such support refers to the name of the
service, it should have been RabbitMq, not Rabbit. This was already
applied in the newly introduced AMQP 1.0 support, and this commit adapts
the existing support for consistency.
Closes gh-49664
This commit adds auto-configuration for the generic AMQP 1.0 client
in Spring AMQP 4.1, using Qpid ProtonJ. The auto-configuration provides
an AmqpConnectionFactory as well as an AmqpClient with standard
customizer callbacks. The "spring.amqp" namespace exposes settings to
connect to an AMQP 1.0 compliant broker. Docker compose and
testcontainers support using RabbitMQ have been added too.
Closes gh-49621
This commit adds support for running Spring Batch jobs with a MongoDB
store. It aligns as much as possible to the JDBC counterpart, with
spring-boot-starter-batch-data-mongodb and spring-boot-starter-batch-data-mongodb-test.
As we do not have a way to initialize a MongoDB store at the moment,
this commit adds a conservative approach of executing commands defined
by the standard Spring Batch schema script.
Closes gh-43236