クラス RepublishMessageRecoverer
java.lang.ObjectSE
org.springframework.amqp.rabbit.retry.RepublishMessageRecoverer
- 実装済みのインターフェース一覧:
MessageRecoverer
- 既知の直属サブクラス
RepublishMessageRecovererWithConfirms
MessageRecoverer の実装では、例外メッセージとスタックトレース (includeStackTrace(boolean) でオプトインされている場合) をメッセージヘッダーに格納して、回復したメッセージを指定された交換所に再発行します。 "x-exception-message" と X_EXCEPTION_STACKTRACE です。 ルーティングキーが指定されていない場合、メッセージの元のルーティングキーに setErrorRoutingKeyPrefix(String) (デフォルトの "error." ) がプレフィックスとして付けられ、名前で指定された交換にメッセージを発行するために使用されます。何も設定されていない場合は、テンプレートのデフォルトの交換に発行されます。
- 導入:
- 1.3
- 作成者:
- James Carr, Gary Russell, Artem Bilan, Rene Choi
フィールド概要
フィールド修飾子と型フィールド説明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) スタックトレースの文字列表現を作成します。includeStackTrace(boolean includeStackTrace) trueを設定して、エラースタックトレースを含むヘッダーを追加するようにします。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
includeStackTrace
trueを設定すると、エラースタックトレースを含むヘッダーが追加されます。ネゴシエートされたframe_maxから切り捨て制限を解決できない場合、スタックトレースは切り捨てられずに公開されます。- パラメーター:
includeStackTrace-trueにエラーのスタックトレースを含むヘッダーを追加します。- 戻り値:
- this。
- 導入:
- 4.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