2016-05-04 12 views
1

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; 
}` 

問題の可能性についてお伝えください。

ありがとうございました

+1

Q:Azure側のログは何を表していますか?あなたのSpring/QPidログは単に「私は通信しようとしました」と言っています。これが問題の「結果」です。あなたは*原因*を見つける必要があります。 1)あなたのAzureサービス、2)AzureとQPid間のネットワーク通信...ログを調べたり、Azureサービスをインストールしたりするだけでなく、[Wireshark] (https://www.wireshark.org/download.html)トレース。 – paulsm4

+0

ご迷惑をおかけして申し訳ありません。 Azure上のサービスバスキューのログをどのように得ることができるのかアドバイスできますか?利用できないネームスペース上の操作ログのリンクしか見ることができません。メッセージリスナーはAzure VM上で動作しています。 DMLCの設定を更新しました。 – pkumar

+0

@pkumarこの問題を解決できるのはどこですか? – anonymous

答えて

0

コードなしでどのような原因で問題が発生したのかわかりません。

ただし、Microsoft Azure Service BusメッセージングAPIによって生成されたいくつかの例外をリストした公式ドキュメントService Bus messaging exceptionsがあります。Exception typesセクションには、メッセージング例外の種類と原因、および推奨される対処方法が記載されています。私はあなたの問題を調べるためにそれを参照することができると思います。

例外情報Unknown endpointによると、私の例外として、理由はQPIDとのAMQP接続の設定にあると考えられます。私は可能な理由を探して、有用なリンクhttps://mail-archives.apache.org/mod_mbox/qpid-users/201009.mbox/%[email protected]%3Eを得ました。それが助けて欲しい。

問題を投資するためのキーコードを共有できますか?

ご不明な点がございましたら、お気軽にお問い合わせください。

関連する問題