22.4.6. SingleRetryInterceptor

RetryInterceptor は多くのケースで役に立ちますが、成功するまで JNDI で HA プロキシをルックアップの継続をする点が欠点です。何らかの理由で成功しない場合、この処理が永遠に続き RetryInterceptor をトリガーした EJB 呼び出しが戻らないことになります。多くのクライアントアプリケーションでは対応できません。結果として JBoss で RetryInterceptor はクラスター化された EJB のデフォルトのクライアントインターセプタースタックの一部にはなりません。
以前のリリースでは、新しい再試行インターセプター org.jboss.proxy.ejb.SingleRetryInterceptor が導入されました。このバージョンは RetryInterceptor のように動作しますが、JNDI での HA プロキシの再ルックアップを一度しか行いません。 この再ルックアップに失敗すると、 再試行インターセプタが使用されてない場合のように EJB 呼び出しに失敗します。 SingleRetryInterceptor はクラスター化された EJB のデフォルトクライアントインターセプターの一部となりました。
SingleRetryInterceptor の欠点は、サーバーを利用できないクラスターの再起動時に再試行が行われると再試行に失敗し、それ以降再試行が行われなくなることです。