对于最新的稳定版本,请使用 Spring Integration 6.3.4! |
对于最新的稳定版本,请使用 Spring Integration 6.3.4! |
通常,消息流从入站通道适配器(例如 )开始。
适配器配置了 ,它要求 定期生成消息。
Java DSL 也允许从 .
为此,Fluent API 提供了一个重载方法。
您可以将 配置为 bean 并将其作为该方法的参数提供。
的第二个参数是一个 lambda,它允许您为 .
以下示例显示如何使用 Fluent API 和 lambda 创建:<int-jdbc:inbound-channel-adapter>
<poller>
MessageSource<?>
IntegrationFlow
MessageSource<?>
IntegrationFlow
IntegrationFlow.from(MessageSource<?> messageSource)
MessageSource<?>
IntegrationFlow.from()
Consumer<SourcePollingChannelAdapterSpec>
PollerMetadata
SmartLifecycle
SourcePollingChannelAdapter
IntegrationFlow
@Bean
public MessageSource<Object> jdbcMessageSource() {
return new JdbcPollingChannelAdapter(this.dataSource, "SELECT * FROM something");
}
@Bean
public IntegrationFlow pollingFlow() {
return IntegrationFlow.from(jdbcMessageSource(),
c -> c.poller(Pollers.fixedRate(100).maxMessagesPerPoll(1)))
.transform(Transformers.toJson())
.channel("furtherProcessChannel")
.get();
}
对于不需要直接构建对象的情况,您可以使用基于 .
的结果会自动包装在 a 中(如果它还不是 a )。Message
IntegrationFlow.fromSupplier()
java.util.function.Supplier
Supplier.get()
Message
Message