This module provides a JDBC supplier that can be reused and composed in other applications.
The Supplier
uses the JdbcPollingChannelAdapter
from Spring Integration.
JdbcSupplier
is implemented as a java.util.function.Supplier
.
When you have use-cases such as periodical execution of a Database query, based on some external trigger such as a REST endpoint call for example, then you can use this Supplier
to query the underlying relational database.
You can import the JdbcSupplierConfiguration
in the application and then inject the following bean.
jdbcSupplier
You can inject it as Supplier<Message<?>
when you are not splitting the rows.
If you are splitting the output, you need to inject this as Supplier<Flux<Message<?>>>
.
You can use jdbcSupplier
as a qualifier when injecting.
Once injected, you can use the get
method of the Supplier
to invoke it.
In the case of splitting you get a Flux
which you have to subscribe in your applications.
All configuration properties are prefixed with jdbc.supplier
.
For more information on the various options available, please see JdbcSupplierProperties
A ComponentCustomizer<JdbcPollingChannelAdapter>
bean can be added in the target project to provide any custom options for the JdbcPollingChannelAdapter
configuration used by the jdbcSupplier
.
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 application where it makes a JDBC Source.