Spring 集成 DSL 频道支持

Spring Integration DSL Channel Support

在 spring 集成 dsl 的当前版本 1.0.2 中,我可以看到一些基本频道不存在,例如 ReST/HTTP、TCP/UDP、JDBC, MQTT 等

只是想知道这个 protocols/channel 是在路线图中还是被故意排除了。

PS:我发布的问题听起来可能很愚蠢,但我只是想知道原因。

从一方​​面来说,您应该明白要解决所有这些问题已经足够大了。例如 HTTP module 在我们的 1.1 版本中。

从另一方面看,Spring 集成 Java DSL 只是现有 Spring Java 和注释配置的一个版本,因此任何 @Bean 定义在那里也有效。

有了这些所需的协议,您可以继续将它们的组件配置为 @Bean 并从 .handle().from() EIP 方法中引用它们。

例如:

@Bean
public MessageSource<Object> jdbcMessageSource() {
    return new JdbcPollingChannelAdapter(this.dataSource, "SELECT * FROM foo");
}

@Bean
public IntegrationFlow myFlow() {
   return IntegrationFlows.from(jdbcMessageSource())
                        .split(...)
                        .transform(...)
                        .handle(new MqttPahoMessageHandler("tcp://localhost:1883", "si-test-out"))
                        .get();
}