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();
}
在 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();
}