【问题标题】:JMS listener - dynamically choose destinationsJMS 侦听器 - 动态选择目的地
【发布时间】:2012-03-04 15:51:21
【问题描述】:

我在 ActiveMQ 上有许多目的地(队列)部署在单独的服务器上。我想从我的程序中动态收听这些目的地。目前我正在收听这些目的地,如下所示:

<bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
    <property name="brokerURL" value="failover://(tcp://192.168.25.26:61616)" />        
</bean>

<bean id="myMessageListener" class="MyMessageListener"></bean>

<jms:listener-container
    container-type="default"
    connection-factory="jmsConnectionFactory"
    acknowledge="auto" >
        <jms:listener destination="TEST.FOO" ref="myMessageListener" />
        <jms:listener destination="foo.bas" ref="myMessageListener" />
        <jms:listener destination="foo.bar" ref="myMessageListener" />        
</jms:listener-container>

我能够成功接收来自这些目的地的消息。但是,如您所见,我必须在上述配置中手动添加目的地。我想跳过这个,更喜欢听者动态选择目的地。这可能吗?如何?非常感谢任何形式的帮助/指导!

【问题讨论】:

    标签: spring jms activemq


    【解决方案1】:

    查看Composite DestinationsDestination Wildcards 上的文档,这两个功能可以让您获得接近您要求的东西。

    【讨论】:

    • 感谢您的回复。如何为特定目的地动态创建侦听器?在上面的代码中,我明确地将侦听器与目的地绑定。我希望侦听器根据它接收/侦听的消息动态绑定到目标。感谢您的帮助。
    • 我已经看到代码使用这个:org.springframework.jms.support.destination.DynamicDestinationResolver 来完成这样的任务。我是 Spring/JMS 的新手,所以我无法完全理解它。
    猜你喜欢
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-19
    • 2015-05-27
    • 1970-01-01
    相关资源
    最近更新 更多