<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
@SpringBootApplication
@EnableDiscoveryClient
@EnableHystrix
public class ServiceRibbonApplication {
public static void main(String[] args) {
SpringApplication.run(ServiceRibbonApplication.class, args);
}
@Bean
@LoadBalanced
RestTemplate restTemplate() {
return new RestTemplate();
}
}
@Service
public class HelloService {
@Autowired
RestTemplate restTemplate;
@HystrixCommand(fallbackMethod = "helloError")
public String helloService(String name) {
return restTemplate.getForObject("http://HELLO-SERVICE/hello?name="+name, String.class);
}
public String helloError(String name) {
return "hello " + name + ", error!";
}
}
http://localhost:8764/hello?name=Jack
http://localhost:8764/hello?name=Jack
http://localhost:8764/hello?name=Jack
hello Jack, error!
https://github.com/lingd3/SpringCloudLearning/tree/master/chapter5