2012-02-13 6 views
3

ActiveMQには多くの宛先(キュー)が別のサーバーに配置されています。私は自分のプログラムからこれらの行き先を動的に聞きたいです。私は成功し、これらの送信先からメッセージを受信することができるよJMSリスナー - 動的に宛先を選択してください

<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

Composite DestinationsDestination Wildcardsのドキュメントをご覧ください。これらの2つの機能を使用すると、求めているものに近いものができます。

+0

ご返信ありがとうございます。特定の宛先のリスナーを動的に作成する方法上記のコードでは、リスナーと宛先を明示的にバインドしています。リスナーは、受信/受信するメッセージに基づいて動的に宛先にバインドする必要があります。ヘルプは高く評価されます。 – Faisal

+0

短い答え、できません。 –

+0

私はこのようなタスクのために 'org.springframework.jms.support.destination.DynamicDestinationResolver'を使ってコードを見てきました。私はSpring/JMSの初心者ですので、完全に理解できません。 – Faisal

関連する問題