Skip to content

Fix issue #1204#1364

Closed
ban-xiu wants to merge 104 commits intospring-cloud:4.3.xfrom
ban-xiu:fix-issue-1204
Closed

Fix issue #1204#1364
ban-xiu wants to merge 104 commits intospring-cloud:4.3.xfrom
ban-xiu:fix-issue-1204

Conversation

@ban-xiu
Copy link
Copy Markdown
Contributor

@ban-xiu ban-xiu commented Apr 3, 2026

Close #1204.

Remove @ConditionalOnBean(Client.class) from FeignAcceptGzipEncodingAutoConfiguration FeignAcceptGzipEncodingAutoConfiguration requires a feign.Client bean in the main context to activate. When no explicit Client bean is registered (e.g., no load balancer on classpath), response compression is silently skipped even with compression.response.enabled=true.

FeignAcceptGzipEncodingInterceptor is a RequestInterceptor that only adds an Accept-Encoding header — it has no dependency on Client. Removing this condition makes it consistent with FeignContentGzipEncodingAutoConfiguration, which never had this restriction.

All Feign client implementations (JDK HttpURLConnection, Apache HC5, Java HttpClient) handle gzip decompression transparently, so there is no risk.

OlgaMaciaszek and others added 30 commits June 6, 2025 12:40
Signed-off-by: Olga Maciaszek-Sharma <olga.maciaszek-sharma@broadcom.com>
Signed-off-by: Olga Maciaszek-Sharma <olga.maciaszek-sharma@broadcom.com>
…cloud#1206)

Bumps [com.google.protobuf:protobuf-java](https://github.com/protocolbuffers/protobuf) from 3.25.8 to 4.31.1.
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Changelog](https://github.com/protocolbuffers/protobuf/blob/main/protobuf_release.bzl)
- [Commits](protocolbuffers/protobuf@v3.25.8...v4.31.1)

---
updated-dependencies:
- dependency-name: com.google.protobuf:protobuf-java
  dependency-version: 4.31.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Olga Maciaszek-Sharma <olga.maciaszek-sharma@broadcom.com>
This commit updates imports and dependencies to adapt to Spring Boot
4.0's restructuring.

This commit also stops using some APIs that have been deprecated
since Spring Boot 3.4.

Signed-off-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
Signed-off-by: Olga Maciaszek-Sharma <olga.maciaszek-sharma@broadcom.com>

# Conflicts:
#	pom.xml
Signed-off-by: Olga Maciaszek-Sharma <olga.maciaszek-sharma@broadcom.com>

# Conflicts:
#	spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientsConfiguration.java
#	spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/hateoas/FeignHalAutoConfiguration.java
#	spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/support/SpringDecoder.java
#	spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/support/SpringEncoder.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientFactoryBeanIntegrationTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientsMicrometerAutoConfigurationTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/SpringDecoderIntegrationTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/SpringDecoderTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/aot/FeignAotTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/beans/FeignClientMockitoBeanTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignAcceptEncodingTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignContentEncodingTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignPageableEncodingTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/proto/ProtobufNotInClasspathTest.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/proto/ProtobufSpringEncoderTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/hateoas/FeignHalAutoConfigurationContextTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/hateoas/app/FeignHalApplication.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/PageableEncoderWithSpringDataWebTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/PageableSpringQueryMapEncoderWithSpringDataWebTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/PageableSupportTest.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/test/NoSecurityConfiguration.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignClientNotPrimaryTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignHttp2ClientTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignHttpClientTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignOkHttpTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/IterableParameterTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/ValidFeignClientTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/scanning/FeignClientEnvVarTests.java
#	spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/scanning/FeignClientScanningTests.java
Signed-off-by: Olga Maciaszek-Sharma <olga.maciaszek-sharma@broadcom.com>

# Conflicts:
#	.github/workflows/maven.yml
Signed-off-by: Olga Maciaszek-Sharma <olga.maciaszek-sharma@broadcom.com>
Signed-off-by: Olga Maciaszek-Sharma <olga.maciaszek-sharma@broadcom.com>
dependabot bot and others added 15 commits March 23, 2026 17:09
Bumps [@springio/asciidoctor-extensions](https://github.com/spring-io/asciidoctor-extensions) from 1.0.0-alpha.17 to 1.0.0-alpha.18.
- [Changelog](https://github.com/spring-io/asciidoctor-extensions/blob/main/CHANGELOG.adoc)
- [Commits](spring-io/asciidoctor-extensions@v1.0.0-alpha.17...v1.0.0-alpha.18)

---
updated-dependencies:
- dependency-name: "@springio/asciidoctor-extensions"
  dependency-version: 1.0.0-alpha.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…_and_yarn/docs/main/springio/asciidoctor-extensions-1.0.0-alpha.18
Bumps [@springio/antora-extensions](https://github.com/spring-io/antora-extensions) from 1.14.7 to 1.14.9.
- [Changelog](https://github.com/spring-io/antora-extensions/blob/main/CHANGELOG.adoc)
- [Commits](spring-io/antora-extensions@v1.14.7...v1.14.9)

---
updated-dependencies:
- dependency-name: "@springio/antora-extensions"
  dependency-version: 1.14.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…_and_yarn/docs/main/springio/antora-extensions-1.14.9

Bump @springio/antora-extensions from 1.14.7 to 1.14.9 in /docs
…eton in FeignClientFactoryBean

Signed-off-by: 98001yash <yashchauhan.gaya@gmail.com>
Bumps [@springio/antora-extensions](https://github.com/spring-io/antora-extensions) from 1.14.9 to 1.14.10.
- [Changelog](https://github.com/spring-io/antora-extensions/blob/main/CHANGELOG.adoc)
- [Commits](spring-io/antora-extensions@v1.14.9...v1.14.10)

---
updated-dependencies:
- dependency-name: "@springio/antora-extensions"
  dependency-version: 1.14.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…_and_yarn/docs/main/springio/antora-extensions-1.14.10
…resource-exhaustion

Document potential resource exhaustion risk when Client is not singleton
- Added WARN log when Client bean for same contextId is resolved
  more than once to alert developers of potential misconfiguration
- Added documentation warning that Client bean must be Singleton
  scoped to avoid connection pool exhaustion

Closes spring-cloud#1308

Signed-off-by: gokid96 <gokid360@gmail.com>
…rn-log

Add WARN log and docs for Client bean Singleton requirement
Signed-off-by: 98001yash <yashchauhan.gaya@gmail.com>
…-builder

Add documentation for FeignClientBuilder
Signed-off-by: lanbinshen <lanbinshen@xiaomi.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Removes an unnecessary auto-configuration condition that prevented the FeignAcceptGzipEncodingInterceptor from being registered unless a feign.Client bean existed, which could silently disable response compression even when explicitly enabled.

Changes:

  • Removed @ConditionalOnBean(Client.class) from FeignAcceptGzipEncodingAutoConfiguration so response compression header support can activate without an explicit feign.Client bean.
  • Added a regression test ensuring the response compression interceptor is created when response compression is enabled, even if no Client bean is present.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/encoding/FeignAcceptGzipEncodingAutoConfiguration.java Drops the Client-bean condition so the Accept-Encoding interceptor can be registered based solely on the response compression property.
spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignCompressionTests.java Adds a regression test verifying the interceptor is registered without requiring a Client bean.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ryanjbaxter
Copy link
Copy Markdown
Contributor

Can you make this PR agains the 4.3.x branch?

@ban-xiu ban-xiu changed the base branch from main to 4.3.x April 3, 2026 15:56
Signed-off-by: LBS <130454150+ban-xiu@users.noreply.github.com>
@ryanjbaxter
Copy link
Copy Markdown
Contributor

You will likely need to recreate the PR against the 4.3.x branch, otherwise there are going to be a ton of commits that are not needed.

This was referenced Apr 3, 2026
@ban-xiu
Copy link
Copy Markdown
Contributor Author

ban-xiu commented Apr 3, 2026

Sorry, I've created a new PR.

@ryanjbaxter ryanjbaxter closed this Apr 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Response Compression Not Working Due to Missing Accept-Encoding Header