【问题标题】:Broadcasting message to multiple JMS (point-to-point message queue) using Spring Integration使用 Spring Integration 将消息广播到多个 JMS(点对点消息队列)
【发布时间】:2017-03-02 20:15:44
【问题描述】:

目前我有一个有效的 spring 集成项目,它将消息发送到 ActiveMQ 队列的一个实例。它使用 serviceActivator 作为处理程序是 JMSSendingMessageHandler.java 的端点。模型如下图:

client--->request CHannel--->Service Activator(Endpoint).

但现在我想将消息发送到将在配置文件中配置的多个 ActiveMQ 实例。在 spring Integration 中,没有可用的开箱即用解决方案。
我的需求图如下:

enter image description here

我需要了解如何在运行时创建多个服务激活器。

【问题讨论】:

    标签: spring-integration spring-jms


    【解决方案1】:

    有一个开箱即用的解决方案,它被称为publish-subscribe-channel。 你的图表正好说明了这种情况:

    http://docs.spring.io/spring-integration/reference/html/messaging-channels-section.html#channel-implementations-publishsubscribechannel

    因此,您可以为所有这些 ActiveMQ 的队列创建任意数量的服务激活器,并将它们的 input-channel 配置为相同的 publish-subscribe-channel

    请详细说明“运行时”要求。

    【讨论】:

    • 我们正在尝试构建一个可重用的组件,使用它其他应用程序可以将相同的消息发送到多个 MQ。运行时,我的意思是,我们需要根据 yml 文件中可用的配置创建服务激活器。
    • 好的。您可以查看 Spring Integration Java DSL 运行时流程注册:spring.io/blog/2016/09/27/…
    • 你为什么告诉我这个?这看起来不像是我应该注意的信息......
    • 感谢您的快速回复。我错误地提交了不完整的查询。无论如何,我检查了链接github.com/spring-projects/spring-integration-samples/blob/…中提到的代码你能告诉我如何动态创建bean inOne和inTwo。
    • integrationFlowContext.registration(...)返回的IntegrationFlowRegistrationBuilderaddBean()关于此事。
    猜你喜欢
    • 2011-04-03
    • 2016-02-10
    • 2015-07-08
    • 2020-07-27
    • 2020-04-05
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多