package pl.java.scalatech.config;

import java.util.List;

import org.springframework.boot.CommandLineRunner;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
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;

import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;

@Configuration
@RequiredArgsConstructor
@Slf4j
class CarServiceConfig {

	@Bean
	@LoadBalanced
	RestTemplate restTemplate() {
		return new RestTemplate();
	}
	
	  private final DiscoveryClient discoveryClient;

	    @Bean
	    CommandLineRunner commandLineRunner() {
	        return (args) -> {
	            List<ServiceInstance> instances = discoveryClient.getInstances("discovery-service");
	            if (instances.size() > 0) {
	                log.info("eureka instances :  {}",instances.get(0).getUri().toString());
	            }
	        };
	    }
}

@@ -160,16 +160,93 @@
 stance;%0A
+import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;%0A
 import o
@@ -371,16 +371,84 @@
 lanced;%0A
+import org.springframework.cloud.netflix.eureka.EnableEurekaClient;%0A
 import o
@@ -552,16 +552,78 @@
 ration;%0A
+import org.springframework.scheduling.annotation.EnableAsync;%0A
 import o
@@ -781,16 +781,71 @@
 tructor%0A
+@EnableAsync%0A@EnableCircuitBreaker%0A@EnableEurekaClient%0A
 @Slf4j%0Ac
@@ -873,16 +873,22 @@
  %7B%0A%0A
-%09
+    
 @Bean%0A
-%09
+    
 @Loa
@@ -897,17 +897,20 @@
 alanced%0A
-%09
+    
 RestTemp
@@ -935,10 +935,16 @@
 ) %7B%0A
-%09%09
+        
 retu
@@ -970,14 +970,17 @@
 ();%0A
-%09%7D%0A%09%0A%09
+    %7D%0A%0A  
   pr
@@ -1025,17 +1025,16 @@
 lient;%0A%0A
-%09
     @Bea
@@ -1035,17 +1035,16 @@
   @Bean%0A
-%09
     Comm
@@ -1075,25 +1075,24 @@
 eRunner() %7B%0A
-%09
         retu
@@ -1106,17 +1106,16 @@
 s) -%3E %7B%0A
-%09
         
@@ -1203,17 +1203,16 @@
 vice%22);%0A
-%09
         
@@ -1243,17 +1243,16 @@
  %3E 0) %7B%0A
-%09
         
@@ -1293,16 +1293,17 @@
  :  %7B%7D%22,
+ 
 instance
@@ -1333,17 +1333,16 @@
 ing());%0A
-%09
         
@@ -1347,17 +1347,16 @@
       %7D%0A
-%09
         
@@ -1362,9 +1362,8 @@
  %7D;%0A
-%09
     

Update CarServiceConfig.java