diff --git a/pom.xml b/pom.xml
index 9cd277db..fa80ac57 100644
--- a/pom.xml
+++ b/pom.xml
@@ -258,6 +258,11 @@
bootstrap
3.2.0
+
+ javax.inject
+ javax.inject
+ 1
+
diff --git a/spring-cloud-netflix-core/pom.xml b/spring-cloud-netflix-core/pom.xml
index d65b01bf..ba0347e1 100644
--- a/spring-cloud-netflix-core/pom.xml
+++ b/spring-cloud-netflix-core/pom.xml
@@ -135,6 +135,10 @@
spring-boot-starter-test
test
+
+ javax.inject
+ javax.inject
+
com.google.guava
guava
diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/SpringDecoder.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/SpringDecoder.java
index 179da79b..0992188f 100644
--- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/SpringDecoder.java
+++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/SpringDecoder.java
@@ -17,6 +17,8 @@ import feign.Response;
import feign.codec.DecodeException;
import feign.codec.Decoder;
+import javax.inject.Provider;
+
import static org.springframework.cloud.netflix.feign.FeignUtils.getHttpHeaders;
/**
@@ -25,7 +27,7 @@ import static org.springframework.cloud.netflix.feign.FeignUtils.getHttpHeaders;
public class SpringDecoder implements Decoder {
@Autowired
- HttpMessageConverters messageConverters;
+ Provider messageConverters;
public SpringDecoder() {
}
@@ -35,7 +37,7 @@ public class SpringDecoder implements Decoder {
if (type instanceof Class || type instanceof ParameterizedType) {
@SuppressWarnings({ "unchecked", "rawtypes" })
HttpMessageConverterExtractor> extractor = new HttpMessageConverterExtractor(
- type, messageConverters.getConverters());
+ type, messageConverters.get().getConverters());
return extractor.extractData(new FeignResponseAdapter(response));
}
diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/SpringEncoder.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/SpringEncoder.java
index 6c160679..68fd5a60 100644
--- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/SpringEncoder.java
+++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/SpringEncoder.java
@@ -15,6 +15,7 @@ import org.springframework.http.HttpOutputMessage;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
+import javax.inject.Provider;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
@@ -29,7 +30,7 @@ public class SpringEncoder implements Encoder {
private static final Logger logger = LoggerFactory.getLogger(SpringEncoder.class);
@Autowired
- HttpMessageConverters messageConverters;
+ Provider messageConverters;
public SpringEncoder() {
}
@@ -48,7 +49,7 @@ public class SpringEncoder implements Encoder {
requestContentType = MediaType.valueOf(type);
}
- for (HttpMessageConverter> messageConverter : messageConverters.getConverters()) {
+ for (HttpMessageConverter> messageConverter : messageConverters.get().getConverters()) {
if (messageConverter.canWrite(requestType, requestContentType)) {
if (logger.isDebugEnabled()) {
if (requestContentType != null) {