From 4e155f4c3ba32a13f0dd6f6dc760f4bed6ccc2ad Mon Sep 17 00:00:00 2001 From: Ryan Baxter Date: Wed, 2 May 2018 15:48:37 -0400 Subject: [PATCH] Use condition on type string instead of class Avoid problems if OKHTTP is not on the classpath. Fixes #2797 --- .../encoding/FeignAcceptGzipEncodingAutoConfiguration.java | 3 +-- .../encoding/FeignContentGzipEncodingAutoConfiguration.java | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/encoding/FeignAcceptGzipEncodingAutoConfiguration.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/encoding/FeignAcceptGzipEncodingAutoConfiguration.java index 9095c7ac0..50528d74d 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/encoding/FeignAcceptGzipEncodingAutoConfiguration.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/encoding/FeignAcceptGzipEncodingAutoConfiguration.java @@ -18,7 +18,6 @@ package org.springframework.cloud.netflix.feign.encoding; import feign.Client; import feign.Feign; -import okhttp3.OkHttpClient; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -43,7 +42,7 @@ import org.springframework.context.annotation.Configuration; @ConditionalOnProperty(value = "feign.compression.response.enabled", matchIfMissing = false) //The OK HTTP client uses "transparent" compression. //If the accept-encoding header is present it disable transparent compression -@ConditionalOnMissingBean(OkHttpClient.class) +@ConditionalOnMissingBean(type = "okhttp3.OkHttpClient") @AutoConfigureAfter(FeignAutoConfiguration.class) public class FeignAcceptGzipEncodingAutoConfiguration { diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/encoding/FeignContentGzipEncodingAutoConfiguration.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/encoding/FeignContentGzipEncodingAutoConfiguration.java index 21f67570e..be95e9073 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/encoding/FeignContentGzipEncodingAutoConfiguration.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/encoding/FeignContentGzipEncodingAutoConfiguration.java @@ -18,7 +18,6 @@ package org.springframework.cloud.netflix.feign.encoding; import feign.Client; import feign.Feign; -import okhttp3.OkHttpClient; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -42,7 +41,7 @@ import org.springframework.context.annotation.Configuration; @ConditionalOnBean(Client.class) //The OK HTTP client uses "transparent" compression. //If the content-encoding header is present it disable transparent compression -@ConditionalOnMissingBean(OkHttpClient.class) +@ConditionalOnMissingBean(type = "okhttp3.OkHttpClient") @ConditionalOnProperty(value = "feign.compression.request.enabled", matchIfMissing = false) @AutoConfigureAfter(FeignAutoConfiguration.class) public class FeignContentGzipEncodingAutoConfiguration {