問題タブ [spring-retry]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-amqp - Spring RecoveryCallback でメッセージの詳細を取得する
メッセージを RabbitMQ にパブリッシュしています。RabbitMQ がダウンしたときのエラーを追跡したいと思います。このため、リカバリ コールバックを追加RetryTemplate
しましたが、リカバリ コールバックはこのメソッドのみgetLastThrowable()
を提供し、詳細を提供する方法がわかりません。 RabbitMQ がダウンしたときに失敗したメッセージ。(ドキュメントRecoveryCallback
によると、「再試行コンテキストにはフィールドのみが含まれているという点で多少制限されてい
lastThrowable
ます。より洗練されたユースケースでは、外部を使用し
て、コンテキストの属性を介してRetryTemplate
追加情報を伝えることができRecoveryCallback
ます」)しかし、私はしません誰かが素晴らしい例で私を助けることができれば、それを行う方法を知っています.
ウサギのテンプレート
回復コールバック
AMQP 送信アダプタ
return IntegrationFlows.from("eventsChannel")
.split()
.handle(Amqp.outboundAdapter(rabbitMqTemplate)
.exchangeName(exchangeName)
.confirmCorrelationExpression("payload")
.confirmAckChannel(ackChannel)
.confirmNackChannel(nackChannel)
)
.get();
java - @Retryable が @EventListener Spring で機能しない
コンポーネントでもあるクラスにメソッドがあります。メソッドには次の注釈があります。
なんらかの理由で、retay がトリガーされていません。