This module provides a JMS supplier that can be reused and composed in other applications.
The Supplier
uses the JMS support provided by Spring Framework and Spring Integration under the covers.
jmsSupplier
is implemented as a java.util.function.Supplier
.
This supplier gives you a reactive stream from JMS sources. The supplier has a signature of Supplier<Flux<Message<?>>>
.
Users have to subscribe to this Flux
and then receive the data.
The JmsSupplierConfiguration
auto-configuration provides the following bean:
jmsSupplier
You need to inject this as Supplier<Flux<Message<?>>>
.
You can use jmsSupplier
as a qualifier when injecting.
Once injected, you can use the get
method of the Supplier
to invoke it and then subscribe to the returned Flux
.
All configuration properties are prefixed with jms
.
For more information on the various options available, please see JmsSupplierProperties.
A ComponentCustomizer<JmsMessageDrivenChannelAdapterSpec<?>>
bean can be added in the target project to provide any custom options for the JmsMessageDrivenChannelAdapterSpec
configuration used by the jmsSupplier
.
See this test suite for the various ways, this supplier is used.
See this README where this supplier is used to create a Spring Cloud Stream JMS Source.