Skip to content

Commit

Permalink
move RibbonClientHttpRequestFactory to configuration conditional on n…
Browse files Browse the repository at this point in the history
…etflix httpclient classes
  • Loading branch information
spencergibb committed Mar 26, 2015
1 parent 55d46eb commit 28db47c
Showing 1 changed file with 24 additions and 15 deletions.
Expand Up @@ -19,6 +19,7 @@
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;


import com.netflix.client.http.HttpRequest;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.AutoConfigureBefore;
Expand Down Expand Up @@ -52,21 +53,6 @@ public class RibbonAutoConfiguration {
@Autowired(required = false) @Autowired(required = false)
private List<RibbonClientSpecification> configurations = new ArrayList<>(); private List<RibbonClientSpecification> configurations = new ArrayList<>();


@Autowired(required = false)
@LoadBalanced
private RestTemplate restTemplate;

@PostConstruct
public void init() {
if (restTemplate != null) {
restTemplate.setRequestFactory(ribbonClientHttpRequestFactory());
}
}

@Bean
public RibbonClientHttpRequestFactory ribbonClientHttpRequestFactory() {
return new RibbonClientHttpRequestFactory(springClientFactory());
}


@Bean @Bean
public SpringClientFactory springClientFactory() { public SpringClientFactory springClientFactory() {
Expand All @@ -81,4 +67,27 @@ public LoadBalancerClient loadBalancerClient() {
return new RibbonLoadBalancerClient(springClientFactory()); return new RibbonLoadBalancerClient(springClientFactory());
} }


@Configuration
@ConditionalOnClass(HttpRequest.class)
protected static class A {
@Autowired(required = false)
@LoadBalanced
private RestTemplate restTemplate;

@Autowired
private SpringClientFactory springClientFactory;

@PostConstruct
public void init() {
if (restTemplate != null) {
restTemplate.setRequestFactory(ribbonClientHttpRequestFactory());
}
}

@Bean
public RibbonClientHttpRequestFactory ribbonClientHttpRequestFactory() {
return new RibbonClientHttpRequestFactory(springClientFactory);
}
}

} }

0 comments on commit 28db47c

Please sign in to comment.