私は、その目的を達成するためにJMSの宛先を調べる必要のあるSpringアプリケーションを持っています。私たちが開発環境かシステムテスト環境かに応じて、異なるJMS実装を使用します。 (のWebLogicでのシステムテストでのOracle AQは、Apache ActiveMQのはdevに関する突堤で展開)SpringからactiveMQの宛先を検索する
は、私はActiveMQのを設定し、それがうまく展開している、それはそれはactivemq.xmlファイル内の目的地です作成します。
<destinations>
<queue physicalName="handlersDest" />
<topic physicalName="notificationsDest" />
</destinations>
I私のハンドラを起動する(春)アプリケーション、それは目的地のルックアップを行います。
<jee:jndi-lookup id="handlersDest" jndi-name="$handlersDest">
<jee:environment>
java.naming.factory.initial = ${jndi.jms.naming.factory.initial}
java.naming.provider.url = ${jndi.jms.naming.url}
queue.handlersDest = handlersDest
</jee:environment>
</jee:jndi-lookup>
私の問題は、私はそれを動作させるために環境に次の行を追加することが必要であることである。
queue.handlersDest = handlersDest
これはActiveMQの初期コンテキストに "handlersDest"と呼ばれる宛先があり、それがキュー名 "handlersDest"の下に登録されていることを確認していることを知っていますが、なぜこれを行う必要があるのか分かりませんクライアントアプリケーション?
これらのJNDI名は、activemq.xmlまたはactivemqをデプロイするアプリケーションのどこか他の場所で事前定義できませんか。