2011-08-13 4 views
0

から一時的な送り先を使用することはできません。javax.jms.InvalidDestinationException:私はクライアントに私にメッセージを送信するためのActiveMQブローカーに接続するプロデューサーを持っている別のConnection

  1. それはクライアントからいくつかの応答を期待するので、最初の一時キューを作成し、ヘッダREPLYTO JMSにそれを関連付けます。
  2. 次に、メッセージをブローカに送信し、クライアントからの一時キューに対する応答を待ちます。
  3. クライアントからの応答を一時キュー経由で受信し、必要なアクションを実行してから終了します。

これはほとんどの場合うまく動作しますが、アプリケーションが「別の接続から作成されたキューを使用できません」というエラーメッセージをスローします。

私は一時キューは、現在のセッション自体から作成されているように、この現象が発生する可能性がありますどのように識別することができません。

他の誰かがこの状況に遭遇し、それを修正する方法を知っていましたか?

コードスニペット:ここ

Connection conn = myJmsTemp. getConnectionFactory().createConnection(); 
ses = conn.createSession(transacted,ackMode); 
responseQueue = ses.createTemporaryQueue(); 
... 
MyMessageCreator msgCrtr = new MyMessageCreator(objects,responseQueue); 
myJmsTemp.send(dest, msgCrtr); 
myJmsTemp.setReceiveTimeout(timeout); 
ObjectMessage response = (ObjectMessage)myJmsTemplate.receive(responseQueue); 

MyMessageCreatorMessageCreatorインタフェースを実装しています。

すべてがやろうとしていますブローカにメッセージを送信し、一時キューを介してクライアントからの応答を待つです。また、プールされた接続ファクトリを使用して接続を取得しています。

答えて

3

あなたは別の接続インスタンスによって作成された一時的な目的地の消費者としてサブスクライブしようとしているクライアントを持っている場合は、このようなエラーが発生します。 JMS仕様では、一時的な宛先を作成した接続だけがそれを使用できると定義されているため、制限が存在します。エラーが発生したコードを見ることなく、そのことを言うのは難しいと思っています。

あなたのアップデートは、あなたが、私はこれがあなたの問題の根であることを推測したいプールされた接続ファクトリを使用していると言うことを考えます。消費呼び出しが、一時的な宛先を作成したプールとは異なるプールを使用した場合、あなたが言及したエラーが表示されます。

+0

これはコードスニペットです:
接続conn = myJmsTemp。 getConnectionFactory()。createConnection();
ses = conn.createSession(トランザクション済み、ackMode);
responseQueue = ses.createTemporaryQueue();
...
MyMessageCreator msgCrtr =新しいMyMessageCreator(オブジェクト、RESPONSEQUEUE)。
myJmsTemp.send(dest、msgCrtr);
myJmsTemp.setReceiveTimeout(タイムアウト);
ObjectMessage response =(ObjectMessage)myJmsTemplate.receive(responseQueue);
MyMessageCreatorクラスはMessageCreatorを実装し、createmessageメソッドを実装します。 これで何か変なことはありますか? – Hari

+0

私はこのフォーマットされていないコードを実際に読むことができます。元の投稿を編集して、何をしているのかを示すコードセクションを追加できますか? –

+0

Tim、元の投稿に書式設定されたコードスニペットを追加しました。新しい接続を取得したり、接続オブジェクトをどこにでも再初期化しようとしていません。プロデューサーは大抵の場合うまく動作しますが、ここで議論しているエラーを投げたことはほとんどありません。 – Hari

関連する問題