0

すでに知っているように、MessageListenerのonMessageメソッドで例外がスローされた場合、JMSは「再配信」と呼ばれるそのメッセージを再度消費しようとします。

しかし、私が興味を持っているのは、この機能をどのように実装したのかということです。onMessageメソッドは、例外がスローされたかどうかをどのように認識しましたか?私は答えが基本的なJavaの知識かもしれないことを知っています。しかし、残念ながら、私はまだそれについての見当がつかない。

それで...誰かがそれを明確にすることができますか?

4

1 に答える 1

1

これは特定のJMSプロバイダーに固有です。ただし、onMessage()メソッドが例外をスローした場合、onMessage()を呼び出すJMSプロバイダーのコードは例外をキャッチできます。

try {
   listener.onMessage(..);
} catch (Exception ex) {
   //handle exception
}

また、例外がキャッチされた場合、メッセージを再配信するための戦略を採用できます。クライアントは、メッセージ配信が失敗したことをブローカーに通知するメッセージをJMSブローカーに送り返し、ブローカーにそのメッセージを再配信させることができます。

于 2013-01-05T02:22:49.903 に答える