クラス ConditionalRejectingErrorHandler

java.lang.ObjectSE
org.springframework.amqp.rabbit.listener.ConditionalRejectingErrorHandler
実装されたすべてのインターフェース:
ErrorHandler

public class ConditionalRejectingErrorHandler extends ObjectSE implements ErrorHandler
構成された拒否戦略によってメッセージが致命的であり、再キューイングされるべきではないと判断された場合に、条件付きで例外を AmqpRejectAndDontRequeueException にラップする ErrorHandler。このようなメッセージは、ブローカーの構成に応じて、破棄されるか、Dead Letter Exchange に送信されます。

例外が MessageConversionExceptionMessageConversionExceptionMethodArgumentNotValidExceptionMethodArgumentTypeMismatchExceptionNoSuchMethodExceptionSE または ClassCastExceptionSE の原因を持つ ListenerExecutionFailedException である場合、デフォルトの戦略はこれを行います。

cause チェーン にすでに AmqpRejectAndDontRequeueException が含まれている場合、例外はラップされません。

導入:
1.3.2
作成者:
Gary Russell
  • フィールドの詳細

    • logger

      protected final Log logger
  • コンストラクターの詳細

  • メソッドの詳細

    • isDiscardFatalsWithXDeath

      protected boolean isDiscardFatalsWithXDeath()
      DiscardFatalsWithXDeath を返します。
      戻り値:
      DiscardFatalsWithXDeath。
      導入:
      2.3
      関連事項:
    • setDiscardFatalsWithXDeath

      public void setDiscardFatalsWithXDeath(boolean discardFatalsWithXDeath)
      致命的な例外を引き起こし、`x-death` ヘッダーを持つメッセージをログに記録して破棄する (現在の) デフォルトの動作を無効にするには、false に設定します。これは通常、以前に DLQ に送信された後にメッセージが再発行されたことを意味します。
      パラメーター:
      discardFatalsWithXDeath - 無効にする場合は false。
      導入:
      2.1
    • isRejectManual

      protected boolean isRejectManual()
      rejectManual を返します。
      戻り値:
      リジェクトマニュアル。
      導入:
      2.3
      関連事項:
    • setRejectManual

      public void setRejectManual(boolean rejectManual)
      MANUAL ack モードが使用されているときに致命的なメッセージを拒否しないようにするには、false に設定します。
      パラメーター:
      rejectManual - メッセージを未確認の状態のままにする場合は false。
      導入:
      2.1.9
    • getExceptionStrategy

      protected FatalExceptionStrategy getExceptionStrategy()
      例外戦略を返します。
      戻り値:
      戦略。
      導入:
      2.3
    • handleError

      public void handleError(ThrowableSE t)
      次で指定:
      インターフェース ErrorHandlerhandleError 
    • handleDiscarded

      protected void handleDiscarded(Message failed)
      メッセージを破棄する前に、致命的な例外を含むメッセージに x-death ヘッダーがある場合に呼び出されます。サブクラスは、このメソッドをオーバーライドして、メッセージをパーキングキューに送信するなどのアクションを実行できます。
      パラメーター:
      failed - 失敗したメッセージ。
      導入:
      2.3
    • log

      protected void log(ThrowableSE t)
      スタックトレースを含む、WARN レベルでスロー可能オブジェクトをログに記録します。サブクラスは、この動作をオーバーライドできます。
      パラメーター:
      t - ThrowableSE
      導入:
      1.7.8
    • causeChainContainsARADRE

      protected boolean causeChainContainsARADRE(ThrowableSE t)
      原因 チェーン に AmqpRejectAndDontRequeueException がすでに存在する場合は、true を返します。
      パラメーター:
      t - ThrowableSE
      戻り値:
      原因 チェーン にすでに AmqpRejectAndDontRequeueException が含まれている場合は true。
      導入:
      1.7.8