Add `spring-boot-starter-grpc-client-test` and
`spring-boot-starter-grpc-server-test` to align with the client
and server modules. Also refine dependencies for common test
usage patterns.
`spring-boot-starter-grpc-server-test` has been removed.
Closes gh-49690
This commit adds support for `@RedisListener` by providing the
infrastructure to register those endpoints using a default
`RedisMessageListenerContainer`.
Users wishing to configure additional containers can benefit from
`RedisMessageListenerContainerConfigurer`. The default container can
be tuned using new properties in the `spring.data.redis.listener`
namespace.
Closes gh-49858
This commit stops including the MongoDB starter in the Data MongDB
reactive starter as the former has already an opinion on the MongoDB
driver to use.
This makes sure the reactive starter no longer brings the synchronous
MongoDB driver.
Closes gh-49945
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>
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
This commit adds the "spring-boot-reactor" module as a dependency to
reactive starters. While this was already the case for many starters,
this module was missing from GraphQL, RSocket, WebClient and WebFlux.
Closes gh-49332
Change `spring-boot-tomcat-runtime` and `spring-boot-jetty-runtime`
into starter POMs and reduce the number of dependencies needed for
`spring-boot-tomcat` and `spring-boot-jetty`.
The runtime starters provide only the jars required to run the
embedded server along with the module jar itself (excluding transitive
dependencies) and `spring-boot-webserver` (excluding transitive
dependencies).
The build setup required for an executable jar is slightly different
between Maven and Gradle. For Maven, the regular module is put in the
`provided` scope. For Gradle, the regular module remains in main
configuration and the runtime jar is put in the `providedRuntime`
configuration. The reference documentation has been updated to
show how to configure things if starters are being used.
Manual testing has been performed to ensure that wars build with Maven
and Gradle work with both Tomcat and Jetty in both deployed and
`java -jar` modes.
Closes gh-48175
This commit adds spring-boot-starter-micrometer-metrics and
spring-boot-starter-micrometer-metrics-test.
It also uses the new starters in smoke tests and in other starters,
which depended on spring-boot-micrometer-metrics.
Closes gh-48161
This also adds io.micrometer:micrometer-tracing-bridge-brave to the
Zipkin starter, otherwise we'd get no traces exported.
This also adds spring-boot-micrometer-tracing-test to the Zipkin test
starter.
Closes gh-47866