クラス RepublishMessageRecoverer

java.lang.ObjectSE
org.springframework.amqp.rabbit.retry.RepublishMessageRecoverer
実装されたすべてのインターフェース:
MessageRecoverer
既知の直属サブクラス
RepublishMessageRecovererWithConfirms

public class RepublishMessageRecoverer extends ObjectSE implements MessageRecoverer
メッセージヘッダー x-exception に格納された例外スタックトレースを使用して、復元されたメッセージを指定された交換に再発行する MessageRecoverer 実装。

ルーティングキーが指定されていない場合、メッセージの元のルーティングキーに setErrorRoutingKeyPrefix(String) (デフォルトの "error." ) がプレフィックスとして付けられ、名前で指定された交換にメッセージを発行するために使用されます。何も設定されていない場合は、テンプレートのデフォルトの交換に発行されます。

導入:
1.3
作成者:
James Carr, Gary Russell, Artem Bilan
  • フィールドの詳細

  • コンストラクターの詳細

    • RepublishMessageRecoverer

      public RepublishMessageRecoverer(AmqpTemplate errorTemplate)
      提供されたテンプレートを使用してインスタンスを作成します。
      パラメーター:
      errorTemplate - テンプレート。
    • RepublishMessageRecoverer

      public RepublishMessageRecoverer(AmqpTemplate errorTemplate, StringSE errorExchange)
      提供されたプロパティでインスタンスを作成します。
      パラメーター:
      errorTemplate - テンプレート。
      errorExchange - 交換。
    • RepublishMessageRecoverer

      public RepublishMessageRecoverer(AmqpTemplate errorTemplate, @Nullable StringSE errorExchange, @Nullable StringSE errorRoutingKey)
      指定されたプロパティでインスタンスを作成します。交換キーまたはルーティングキーが null の場合、テンプレートのデフォルトが使用されます。
      パラメーター:
      errorTemplate - テンプレート。
      errorExchange - 交換。
      errorRoutingKey - ルーティングキー。
    • RepublishMessageRecoverer

      public RepublishMessageRecoverer(AmqpTemplate errorTemplate, @Nullable Expression errorExchange, @Nullable Expression errorRoutingKey)
      指定されたプロパティでインスタンスを作成します。交換キーまたはルーティングキーが null と評価された場合、テンプレートのデフォルトが使用されます。
      パラメーター:
      errorTemplate - テンプレート。
      errorExchange - メッセージに対して評価される交換式。
      errorRoutingKey - メッセージに対して評価されるルーティングキー。
  • メソッドの詳細

    • errorRoutingKeyPrefix

      public RepublishMessageRecoverer errorRoutingKeyPrefix(StringSE errorRoutingKeyPrefix)
      送信 ルーティングキーにプレフィックスを適用します。これは、元のメッセージルーティングキーのプレフィックスになります (コンストラクターで明示的なルーティングキーが指定されていない場合は無視されます。それ以外の場合は無視されます。プレフィックスを付けない場合は、空の文字列 ("") を使用します)。
      パラメーター:
      errorRoutingKeyPrefix - プレフィックス (デフォルトは "error." )。
      戻り値:
      this。
    • frameMaxHeadroom

      public RepublishMessageRecoverer frameMaxHeadroom(int headroom)
      スタックトレースヘッダーの切り捨てを考慮するときに、ネゴシエートされた frame_max を削減する量を設定します。デフォルトは 20000 です。
      パラメーター:
      headroom - ヘッドルーム
      戻り値:
      this。
      導入:
      2.0.5
    • setErrorRoutingKeyPrefix

      public void setErrorRoutingKeyPrefix(StringSE errorRoutingKeyPrefix)
      パラメーター:
      errorRoutingKeyPrefix - プレフィックス (デフォルトは "error." )。
      関連事項:
    • getErrorRoutingKeyPrefix

      protected StringSE getErrorRoutingKeyPrefix()
    • setDeliveryMode

      public void setDeliveryMode(MessageDeliveryMode deliveryMode)
      メッセージに MessageDeliveryMode が設定されていない場合は、再発行するメッセージに設定する MessageDeliveryMode を指定します。
      パラメーター:
      deliveryMode - メッセージに設定する配信モード。
      導入:
      2.0
    • getDeliveryMode

      protected MessageDeliveryMode getDeliveryMode()
    • recover

      public void recover(Message message, ThrowableSE cause)
      インターフェースからコピーされた説明: MessageRecoverer
      消費されましたがすべての再試行に失敗したメッセージのコールバック。
      次で指定:
      インターフェース MessageRecovererrecover 
      パラメーター:
      message - 回復へのメッセージ
      cause - エラーの原因
    • doSend

      protected void doSend(@Nullable StringSE exchange, StringSE routingKey, Message message)
      メッセージを送信します。
      パラメーター:
      exchange - テンプレートのデフォルトを使用する場合は exchange または null。
      routingKey - ルーティングキー。
      message - メッセージ。
      導入:
      2.3.3
    • additionalHeaders

      protected MapSE<? extends StringSE,?> additionalHeaders(Message message, ThrowableSE cause)
      サブクラスは、このメソッドをオーバーライドして、再発行されたメッセージにヘッダーを追加できます。
      パラメーター:
      message - 失敗したメッセージ。
      cause - 原因。
      戻り値:
      追加する追加ヘッダーの MapSE
    • prefixedOriginalRoutingKey

      protected StringSE prefixedOriginalRoutingKey(Message message)
      このメソッドのデフォルトの動作は、受信したルーティングキーを routingKeyPrefix に追加することです。これは、ルーティングキーが null の場合にのみ呼び出されます。
      パラメーター:
      message - メッセージ。
      戻り値:
      ルーティングキー。
    • getStackTraceAsString

      protected StringSE getStackTraceAsString(ThrowableSE cause)
      スタックトレースの文字列表現を作成します。
      パラメーター:
      cause - スローアブル。
      戻り値:
      文字列。
      導入:
      2.4.8