使用 Spring Integration DSL 读取 Tibco EMS 主题
Use Spring Integration DSL to read from Tibco EMS topic
我一直在尝试配置 spring 集成 dsl 以从 Tibco EMS 主题读取,对收到的消息进行一些处理,然后将其推送到 ActiveMQ 队列。我能够使用 XML 配置成功设置它,但我想改用 spring 集成 dsl。我想不通,也无法在网上找到任何帮助。
我推送消息到ActiveMQ的配置是这样的-
@Bean
public IntegrationFlow toActiveMQFlow(
MessageChannel channel,
ActiveMQQueue queue,
CachingConnectionFactory cachingConnectionFactory) {
return IntegrationFlows.from(channel)
.transform(Object::toString)
.handle(Jms.outboundAdapter(cachingConnectionFactory).destination(queue))
.get();
}
而且我认为从 Tibco EMS 主题读取的配置应该是这样的 -
@Bean
public IntegrationFlow fromTibcoTopicFlow(
MessageChannel channel,
ConnectionFactory tibcoEmsConnectionFactory,
Topic tibcoTopic
) {
return IntegrationFlows
.from(SomeInboundAdapter(tibcoEmsConnectionFactory).destination(tibcoTopic))
.transform(Object::toString)
.channel(channel)
.get();
}
由于我在后一种配置上没有找到太多帮助,所以这里只能使用 XML 配置吗?
请 correct/edit/point 指出我犯的任何错误,仍在学习 Spring 集成 DSL。
感谢您的帮助!
您需要使用 Jms.messageDrivenChannelAdapter(ConnectionFactory connectionFactory)
。
并且不会使用 spring-integration-java-dsl
。它从版本 5.0
开始合并到核心项目:https://docs.spring.io/spring-integration/docs/5.0.9.RELEASE/reference/html/whats-new.html#_java_dsl
我们已经解决了类路径上旧 Java DSL jar 的问题:https://jira.spring.io/browse/INT-4551
我一直在尝试配置 spring 集成 dsl 以从 Tibco EMS 主题读取,对收到的消息进行一些处理,然后将其推送到 ActiveMQ 队列。我能够使用 XML 配置成功设置它,但我想改用 spring 集成 dsl。我想不通,也无法在网上找到任何帮助。
我推送消息到ActiveMQ的配置是这样的-
@Bean
public IntegrationFlow toActiveMQFlow(
MessageChannel channel,
ActiveMQQueue queue,
CachingConnectionFactory cachingConnectionFactory) {
return IntegrationFlows.from(channel)
.transform(Object::toString)
.handle(Jms.outboundAdapter(cachingConnectionFactory).destination(queue))
.get();
}
而且我认为从 Tibco EMS 主题读取的配置应该是这样的 -
@Bean
public IntegrationFlow fromTibcoTopicFlow(
MessageChannel channel,
ConnectionFactory tibcoEmsConnectionFactory,
Topic tibcoTopic
) {
return IntegrationFlows
.from(SomeInboundAdapter(tibcoEmsConnectionFactory).destination(tibcoTopic))
.transform(Object::toString)
.channel(channel)
.get();
}
由于我在后一种配置上没有找到太多帮助,所以这里只能使用 XML 配置吗?
请 correct/edit/point 指出我犯的任何错误,仍在学习 Spring 集成 DSL。
感谢您的帮助!
您需要使用 Jms.messageDrivenChannelAdapter(ConnectionFactory connectionFactory)
。
并且不会使用 spring-integration-java-dsl
。它从版本 5.0
开始合并到核心项目:https://docs.spring.io/spring-integration/docs/5.0.9.RELEASE/reference/html/whats-new.html#_java_dsl
我们已经解决了类路径上旧 Java DSL jar 的问题:https://jira.spring.io/browse/INT-4551