2009-09-02 9 views
0

私はWebsphere Application Server(WAS)6.1のJMS用デフォルト・メッセージング・プロバイダーを使用しています。リモートクライアントアプリケーションが接続を作成した後、setExceptionListenerがコールバックを登録します。javax.jms.ExceptionListenerは、ネットワーク接続が切断されたときにonExceptionコールバックを遅延させますか?

WAS Integrated Solutions Consoleを使用してメッセージングエンジンを停止するだけで、私のアプリケーションは正常に動作します。すなわち、onExceptionが直ちに呼び出され、それに応じてアプリケーションが反応します。しかし、私がネットワークケーブルを引っ張ると、onExceptionコールバックは30秒から60秒のどこかにコールバックされません。

私のアプリはこの30秒から60秒の間にWASにメッセージを送信し続けようとしているだけで、それらのメッセージは失われてしまいます。 ExceptionListenerについて詳しく調べるためにいくつかの検索を行っています(たとえば、コールバックタイムアウトを指定するための設定パラメータがあります)が、成功していません。

うまくいけば、これはそこに誰かに意味があると思います。どのように私はケーブル "切断"シナリオをより迅速に検出することができますか?ご協力いただきありがとうございます。

-Kris

答えて

1

あなたは30秒TCPのタイムアウトが定義されているために起こるのではないのですか? その場合、MQはJVM/OSにその責任を一時的に渡し、要求されたネットワーク関連の操作でACKを待っています。おそらくTCPタイムアウト値を下げてみてください...

関連する問題