Azureサービスバスキューからメッセージを接続して使用できます。しかし、メッセージ処理が進行中の場合、次のエラーがランダムに表示されます。エラーが表示された後、メッセージがさらに消費されないか、DLQにプッシュされるように見えます。リスナーアプリケーションを再起動すると、同じ例外が表示されます。 49::私は、Apache QpidAzureサービスバスキュー - 宛先例外のJMSメッセージリスナーの呼び出し側のセットアップが失敗しました
2016年5月5日01で春DefaultMessageListenerContainerを使用してい
36.303 14716を警告 - [nerContainer-61] osjlDefaultMessageListenerContainerを:JMSメッセージ リスナーの呼び出しのセットアップが失敗しました宛先 '[email protected]' - 試みて を回復します。原因:タイムアウト
不明エンドポイントを取り付ける 転送{ハンドル= 0、deliveryId = 36、deliveryTag = P \ xb8)T \ XD9 \ XEA%A \ X95 \ xe5Fj] \ X91 \ X00 \ X15、のMessageFormat =待っ0、more = false、batchable = true} 未知のエンドポイント 転送{handle = 0、deliveryId = 36、deliveryTag = \ xdc \ x9b \ x9d \ xf5 \ x817 \ x9bO \ x97。\ x19 \ xeam < \ x00 \ x81 、のMessageFormat = 0、より=偽、バッチ可能= TRUE}
javax.jms.IllegalStateException:で org.apache.qpid.amqp_1_0.jms.impl.SessionImpl.checkClosed(SessionImpl.java:326) で閉鎖 org.apache.qpid.amqp_1_0.jms.impl.SessionImpl.getTransacted(SessionImpl.java:22) 2) でorg.springframework.jms.listener.AbstractMessageListenerContainer.commitIfNecessary(AbstractMessageListenerContainer.java:757) でorg.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:665) org.springframeworkで.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:315) でorg.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:253) org.springframework.jms.listener.DefaultMessageListenerContainer $ AsyncMessageListenerInvokerで.invokeListener(DefaultMessageLi) java.lang.Thread.runで org.springframework.jms.listener.DefaultMessageListenerContainer $ AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1052) でstenerContainer.java:1158) (不明なソース)
更新日:
`public DefaultMessageListenerContainer messageListenerContainer() throws NamingException {
DefaultMessageListenerContainer messageListenerContainer = new DefaultMessageListenerContainer();
messageListenerContainer.setConnectionFactory(connectionFactory());
Destination queue = (Destination) context.lookup("STORAGE_NEW_QUEUE");
messageListenerContainer.setDestination(queue);
messageListenerContainer.setConcurrency(concurrency);
messageListenerContainer.setSessionAcknowledgeMode(Session.CLIENT_ACKNOWLEDGE);
messageListenerContainer.setCacheLevel(DefaultMessageListenerContainer.CACHE_SESSION);
messageListenerContainer.setErrorHandler(new EDIMessageErrorHandler());
MessageListenerAdapter adapter = new MessageListenerAdapter();
adapter.setDelegate(new EDIMessageListener());
adapter.setDefaultListenerMethod("onMessage");
messageListenerContainer.setMessageListener(adapter);
return messageListenerContainer;
}`
問題の可能性についてお伝えください。
ありがとうございました
Q:Azure側のログは何を表していますか?あなたのSpring/QPidログは単に「私は通信しようとしました」と言っています。これが問題の「結果」です。あなたは*原因*を見つける必要があります。 1)あなたのAzureサービス、2)AzureとQPid間のネットワーク通信...ログを調べたり、Azureサービスをインストールしたりするだけでなく、[Wireshark] (https://www.wireshark.org/download.html)トレース。 – paulsm4
ご迷惑をおかけして申し訳ありません。 Azure上のサービスバスキューのログをどのように得ることができるのかアドバイスできますか?利用できないネームスペース上の操作ログのリンクしか見ることができません。メッセージリスナーはAzure VM上で動作しています。 DMLCの設定を更新しました。 – pkumar
@pkumarこの問題を解決できるのはどこですか? – anonymous