JMS侦听器 - 动态选择目标

时间:2012-02-13 08:04:17

标签: spring jms activemq

我在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>

我能够成功接收来自这些目的地的消息。但是,正如您所看到的,我将在上述配置中手动添加目的地。我想跳过这个并且更喜欢监听器动态选择目的地。这可能吗?怎么样?非常感谢您提供任何帮助/指导!

1 个答案:

答案 0 :(得分:1)

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