-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Retry filter based on Spring Framework's retry functionality #3970
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a new FrameworkRetry filter based on Spring Framework's retry functionality as an alternative to the existing Retry filter (which depends on Spring Retry). The existing Retry filter is deprecated since Spring Retry has been placed in maintenance-only mode.
Key changes:
- Added
FrameworkRetryFilterFunctionswith retry logic using Spring Framework'sRetryTemplateand customRetryPolicy - Deprecated
RetryFilterFunctionsand refactored it to reuseRetryConfigandRetryExceptionfrom the new framework retry implementation - Added comprehensive test coverage for the new retry filter including body caching scenarios
- Updated documentation to warn users about the deprecated filter and recommend the new framework-based filter
Reviewed Changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| FrameworkRetryFilterFunctions.java | New retry filter implementation using Spring Framework retry support with custom composite retry policy |
| RetryFilterFunctions.java | Deprecated existing retry filter and refactored to reuse RetryConfig and RetryException from FrameworkRetryFilterFunctions |
| FrameworkRetryFilterFunctionTests.java | Added unit tests for framework retry filter covering GET and POST with body caching |
| HttpClientApplication.java | Added integration test route and controller endpoint for framework retry |
| HttpClientApplicationTests.java | Added integration test verifying framework retry behavior |
| framework-retry.adoc | New documentation page for framework retry filter with examples and warnings |
| retry.adoc | Added deprecation warning directing users to the new framework retry filter |
| nav.adoc | Added navigation link to framework retry filter documentation |
| NettyRoutingFilterIntegrationTests.java | Code formatting improvement (multi-line method chain) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
docs/modules/ROOT/pages/spring-cloud-gateway-server-webmvc/filters/framework-retry.adoc
Show resolved
Hide resolved
.../src/main/java/org/springframework/cloud/gateway/tests/httpclient/HttpClientApplication.java
Show resolved
Hide resolved
.../java/org/springframework/cloud/gateway/server/mvc/filter/FrameworkRetryFilterFunctions.java
Outdated
Show resolved
Hide resolved
3fee569 to
e2de699
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
docs/modules/ROOT/pages/spring-cloud-gateway-server-webmvc/filters/framework-retry.adoc
Outdated
Show resolved
Hide resolved
e2de699 to
6c61830
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…retry functionality
6c61830 to
c4eb766
Compare
9aacd4f to
0c71800
Compare
No description provided.