diff --git a/spring-cloud/spring-cloud-ribbon-client/src/main/java/com/baeldung/spring/cloud/ribbon/client/RestTemplateConfiguration.java b/spring-cloud/spring-cloud-ribbon-client/src/main/java/com/baeldung/spring/cloud/ribbon/client/RestTemplateConfiguration.java new file mode 100644 index 0000000000..c69168fc74 --- /dev/null +++ b/spring-cloud/spring-cloud-ribbon-client/src/main/java/com/baeldung/spring/cloud/ribbon/client/RestTemplateConfiguration.java @@ -0,0 +1,16 @@ +package com.baeldung.spring.cloud.ribbon.client; + +import org.springframework.cloud.client.loadbalancer.LoadBalanced; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.client.RestTemplate; + +@Configuration +public class RestTemplateConfiguration { + + @LoadBalanced + @Bean + RestTemplate getRestTemplate() { + return new RestTemplate(); + } +} diff --git a/spring-cloud/spring-cloud-ribbon-client/src/main/java/com/baeldung/spring/cloud/ribbon/client/ServerLocationApp.java b/spring-cloud/spring-cloud-ribbon-client/src/main/java/com/baeldung/spring/cloud/ribbon/client/ServerLocationApp.java index 6105e2c489..b7b92d114d 100644 --- a/spring-cloud/spring-cloud-ribbon-client/src/main/java/com/baeldung/spring/cloud/ribbon/client/ServerLocationApp.java +++ b/spring-cloud/spring-cloud-ribbon-client/src/main/java/com/baeldung/spring/cloud/ribbon/client/ServerLocationApp.java @@ -3,9 +3,7 @@ package com.baeldung.spring.cloud.ribbon.client; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.cloud.netflix.ribbon.RibbonClient; -import org.springframework.context.annotation.Bean; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; @@ -15,19 +13,12 @@ import org.springframework.web.client.RestTemplate; @RibbonClient(name = "ping-a-server", configuration = RibbonConfiguration.class) public class ServerLocationApp { - @LoadBalanced - @Bean - RestTemplate getRestTemplate() { - return new RestTemplate(); - } - @Autowired RestTemplate restTemplate; @RequestMapping("/server-location") public String serverLocation() { - String servLoc = this.restTemplate.getForObject("http://ping-server/locaus", String.class); - return servLoc; + return this.restTemplate.getForObject("http://ping-server/locaus", String.class); } public static void main(String[] args) { diff --git a/spring-cloud/spring-cloud-ribbon-client/src/main/resources/application.yml b/spring-cloud/spring-cloud-ribbon-client/src/main/resources/application.yml index b14f3fac1b..189a923c6c 100644 --- a/spring-cloud/spring-cloud-ribbon-client/src/main/resources/application.yml +++ b/spring-cloud/spring-cloud-ribbon-client/src/main/resources/application.yml @@ -2,9 +2,6 @@ spring: application: name: spring-cloud-ribbon - main: - allow-circular-references: true - server: port: 8888 diff --git a/spring-cloud/spring-cloud-ribbon-client/src/test/java/com/baeldung/spring/cloud/ribbon/client/ServerLocationAppIntegrationTest.java b/spring-cloud/spring-cloud-ribbon-client/src/test/java/com/baeldung/spring/cloud/ribbon/client/ServerLocationAppIntegrationTest.java index 4134880fa6..2ad9ca4797 100644 --- a/spring-cloud/spring-cloud-ribbon-client/src/test/java/com/baeldung/spring/cloud/ribbon/client/ServerLocationAppIntegrationTest.java +++ b/spring-cloud/spring-cloud-ribbon-client/src/test/java/com/baeldung/spring/cloud/ribbon/client/ServerLocationAppIntegrationTest.java @@ -1,6 +1,5 @@ package com.baeldung.spring.cloud.ribbon.client; -import static org.assertj.core.api.BDDAssertions.then; import static org.junit.Assert.assertEquals; import org.junit.After; @@ -13,7 +12,6 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.boot.web.server.LocalServerPort; import org.springframework.context.ConfigurableApplicationContext; -import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.context.junit4.SpringRunner; @@ -43,7 +41,7 @@ public class ServerLocationAppIntegrationTest { private TestRestTemplate testRestTemplate; @Test - public void loadBalancingServersTest() throws InterruptedException { + public void loadBalancingServersTest() { ResponseEntity response = this.testRestTemplate.getForEntity("http://localhost:" + this.port + "/server-location", String.class); assertEquals(response.getBody(), "Australia"); }