6.7. べき等のオペレーション
永続のデスティネーションに送信されたメッセージが例外なく返されると、そのメッセージは必ず永続化されます。
例外が送出されると、メッセージが永続化され なかった ことは保証されません。これは、メッセージの永続化から呼び出し側に応答を返す途中で障害が発生した可能性があるためです。
したがってアプリケーションをコード化して、動作が べき等 となるようにする必要があります — つまり、システムが矛盾することなく動作を反復することが可能ということです。
オリジナルのメッセージが正常に送信されている場合は、重複するメッセージをチェックしてそれらを破棄することで、アプリケーションレベルでこの動作を実装することができます。この 重複チェック の機能は、有力な技術で XA トランザクションの必要がなくなります。
クラスター環境では、JBoss Messaging はデフォルトで重複チェックを行うように設定されています。