問題タブ [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.
rabbitmq - retry-template を使用して Spring AMQP で再試行機能を構成する際の問題
この記事のセクション 3.3.1で提供されている詳細に従って、Rabbit サーバーに接続しようとしている Spring Integration プロジェクトで再試行機能を構成しようとしています。しかし、再試行ポリシーが機能していないようです。これは私の構成にあるものです:
スニペットに基づいて、再試行が指数関数的な間隔で 3 回発生することを期待しています。しかし、ログに基づいて、再試行が 7 秒間隔で行われ、それが永遠に続くことがわかります (3 回後も停止しません)。
誰かが私の構成の何が問題なのかを指摘できるかどうか疑問に思っています。
java - Spring アノテーション @Retryable - インターセプターの設定方法
クラス@Retryable
のメソッドでアノテーションを使用しています@Service
そしてそれは魅力のように機能します:私はRabbitMQから直接メッセージを受け取っています.エラーがなくなるか、試行回数が5に達するまで確認されず、その時点でメッセージは直接DLQに送られます.欲しかった。
私の唯一の問題は、プロパティ ファイルから maxAttempts を動的に設定する必要があることです。解決策はインターセプターを設定する必要がありますが、インターセプターがあるという唯一の事実は、たとえば次の場合にエラーを引き起こします。
myInterceptor は次のように定義されます。
次の例外を除いて、無限ループが発生します。
私はそれを単純にしすぎていると確信していますが、このエラーの原因とその解決方法についての手がかりがありません。
spring - Spring バッチ - ライターでスローされた例外をスキップすると、JSR 352 の再試行が失敗する
ライターで例外がスローされたときに何が起こるかを調査しようとしています。理論上、ロールバックが発生することを期待していたので、コミット サイズを 1 に設定してチャンクを再試行しますが、これは発生せず、次のエラーが表示されます。
Spring Batch -JSR 352 ジョブ デザインを使用しています。ライターでは、3 つの JDBC 呼び出しがあります。2 つの JDBC 呼び出しが正常に実行された後にスキップ可能な例外をスローすると、Spring バッチがチャンクのトランザクションをロールバックできず、コミット サイズを 1 に設定してチャンクを再試行できないことがわかります。次の execption を受け取った後、チャンク全体がスキップされ、チャンク コミットが行われています。その結果、2 つの JDBC テーブルに既に書き込まれているデータが永続化され、3 番目のテーブル データが失われます。
参照用に構成ファイルを添付しています。デバッグすることで、Spring によって管理されるトランザクションで挿入ステートメントが実行されていることがわかりました。トランザクション マネージャーの構成に問題はないと確信しています。
java - Spring Bootアプリケーションの統合テストによってトリガーされたときに@Retryableが再試行しない
SpringBoot アプリケーションの Service に簡単なメソッドがあります。@Retryable を使用して、そのメソッドの再試行メカニズムをセットアップしました。
サービス内のメソッドの統合テストを試みていますが、メソッドが例外をスローしたときに再試行が行われません。メソッドは 1 回だけ実行されます。
spring - @Retryable with JPA で問題が発生する
この投稿に続いて、アプリケーションをより強固にするために @Retryable を使用して Invoice Bean の save() メソッドを実装しようとしています。Spring JPA + Hibernate を使用しています。
私は自分のサービスのインターフェースを持っています:
これが実装です:
エラーのシミュレーション (会計番号の重複) ログに、Spring がトランザクションをやり直そうとしていることがわかりますが、Hibernate セッションに何か問題があるようです。
そして、この奇妙なエラーがコンソールに発生します:
春の再試行は、アプリケーションの残りの部分に対して透過的であってはなりませんか? コードのどこに問題がありますか?
ありがとう