クラス RepublishMessageRecoverer
java.lang.ObjectSE
org.springframework.amqp.rabbit.retry.RepublishMessageRecoverer
- 実装されているすべてのインターフェース:
MessageRecoverer
- 既知の直属サブクラス
RepublishMessageRecovererWithConfirms
メッセージヘッダー x-exception に格納された例外スタックトレースを使用して、復元されたメッセージを指定された交換に再発行する
MessageRecoverer 実装。 ルーティングキーが指定されていない場合、メッセージの元のルーティングキーに setErrorRoutingKeyPrefix(String) (デフォルトの "error." ) がプレフィックスとして付けられ、名前で指定された交換にメッセージを発行するために使用されます。何も設定されていない場合は、テンプレートのデフォルトの交換に発行されます。
- 導入:
- 1.3
- 作成者:
- James Carr, Gary Russell, Artem Bilan
フィールドのサマリー
フィールド修飾子と型フィールド説明static final intprotected final Expressionprotected final Expressionprotected final AmqpTemplateprotected final EvaluationContextprotected final org.apache.commons.logging.Logstatic final StringSEstatic final StringSEstatic final StringSEstatic final StringSEコンストラクターの概要
コンストラクターコンストラクター説明RepublishMessageRecoverer(AmqpTemplate errorTemplate) 提供されたテンプレートを使用してインスタンスを作成します。RepublishMessageRecoverer(AmqpTemplate errorTemplate, @Nullable StringSE errorExchange, @Nullable StringSE errorRoutingKey) 提供されたプロパティでインスタンスを作成します。RepublishMessageRecoverer(AmqpTemplate errorTemplate, StringSE errorExchange) 提供されたプロパティでインスタンスを作成します。RepublishMessageRecoverer(AmqpTemplate errorTemplate, @Nullable Expression errorExchange, @Nullable Expression errorRoutingKey) 提供されたプロパティでインスタンスを作成します。メソッドのサマリー
修飾子と型メソッド説明additionalHeaders(Message message, @Nullable ThrowableSE cause) サブクラスは、このメソッドをオーバーライドして、再発行されたメッセージにヘッダーを追加できます。protected voidメッセージを送信します。errorRoutingKeyPrefix(StringSE errorRoutingKeyPrefix) 送信 ルーティングキーにプレフィックスを適用します。これは、元のメッセージルーティングキーのプレフィックスになります (コンストラクターで明示的なルーティングキーが指定されていない場合。それ以外の場合は無視されます)。frameMaxHeadroom(int headroom) スタックトレースヘッダーの切り捨てを考慮するときに、ネゴシエートされた frame_max を削減する量を設定します。protected MessageDeliveryModeprotected StringSEprotected StringSEgetStackTraceAsString(ThrowableSE cause) スタックトレースの文字列表現を作成します。protected StringSEprefixedOriginalRoutingKey(Message message) このメソッドのデフォルトの動作は、受信したルーティングキーをroutingKeyPrefixに追加することです。voidrecover(Message message, @Nullable ThrowableSE cause) 消費されましたが再試行がすべて失敗したメッセージのコールバック。voidsetDeliveryMode(MessageDeliveryMode deliveryMode) メッセージにMessageDeliveryModeが設定されていない場合は、再発行するメッセージに設定するMessageDeliveryModeを指定します。voidsetErrorRoutingKeyPrefix(StringSE errorRoutingKeyPrefix)
フィールドの詳細
X_EXCEPTION_STACKTRACE
- 関連事項:
X_EXCEPTION_MESSAGE
- 関連事項:
X_ORIGINAL_EXCHANGE
- 関連事項:
X_ORIGINAL_ROUTING_KEY
- 関連事項:
DEFAULT_FRAME_MAX_HEADROOM
public static final int DEFAULT_FRAME_MAX_HEADROOM- 関連事項:
logger
protected final org.apache.commons.logging.Log loggererrorTemplate
errorRoutingKeyExpression
errorExchangeNameExpression
evaluationContext
コンストラクターの詳細
RepublishMessageRecoverer
提供されたテンプレートを使用してインスタンスを作成します。- パラメーター:
errorTemplate- テンプレート。
RepublishMessageRecoverer
提供されたプロパティでインスタンスを作成します。- パラメーター:
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
送信 ルーティングキーにプレフィックスを適用します。これは、元のメッセージルーティングキーのプレフィックスになります (コンストラクターで明示的なルーティングキーが指定されていない場合は無視されます。それ以外の場合は無視されます。プレフィックスを付けない場合は、空の文字列 ("") を使用します)。- パラメーター:
errorRoutingKeyPrefix- プレフィックス (デフォルトは "error." )。- 戻り値:
- this。
frameMaxHeadroom
スタックトレースヘッダーの切り捨てを考慮するときに、ネゴシエートされた frame_max を削減する量を設定します。デフォルトは 20000 です。- パラメーター:
headroom- ヘッドルーム- 戻り値:
- this。
- 導入:
- 2.0.5
setErrorRoutingKeyPrefix
- パラメーター:
errorRoutingKeyPrefix- プレフィックス (デフォルトは "error." )。- 関連事項:
getErrorRoutingKeyPrefix
setDeliveryMode
メッセージにMessageDeliveryModeが設定されていない場合は、再発行するメッセージに設定するMessageDeliveryModeを指定します。- パラメーター:
deliveryMode- メッセージに設定する配信モード。- 導入:
- 2.0
getDeliveryMode
recover
インターフェースからコピーされた説明:MessageRecoverer消費されましたが再試行がすべて失敗したメッセージのコールバック。- 次で指定:
- インターフェース
MessageRecovererのrecover - パラメーター:
message- 回復へのメッセージcause- エラーの原因
doSend
additionalHeaders
protected @Nullable MapSE<? extends StringSE, ?> additionalHeaders(Message message, @Nullable ThrowableSE cause) サブクラスは、このメソッドをオーバーライドして、再発行されたメッセージにヘッダーを追加できます。- パラメーター:
message- 失敗したメッセージ。cause- 原因。- 戻り値:
- 追加する追加ヘッダーの
MapSE。
prefixedOriginalRoutingKey
このメソッドのデフォルトの動作は、受信したルーティングキーをroutingKeyPrefixに追加することです。これは、ルーティングキーが null の場合にのみ呼び出されます。- パラメーター:
message- メッセージ。- 戻り値:
- ルーティングキー。
getStackTraceAsString
スタックトレースの文字列表現を作成します。- パラメーター:
cause- スローアブル。- 戻り値:
- 文字列。
- 導入:
- 2.4.8