Trong ứng dụng của tôi, tôi cần phải gọi một điểm cuối bên ngoài và nếu nó là quá chậm một dự phòng được kích hoạt.Làm cách nào để thực hiện kiểm tra tích hợp để kiểm tra xem dự phòng ngắt mạch của tôi có được gọi không?
Các mã sau đây là một ví dụ về cách ứng dụng của tôi trông giống như:
@FeignClient(name = "${config.name}", url = "${config.url:}", fallback = ExampleFallback.class)
public interface Example {
@RequestMapping(method = RequestMethod.GET, value = "/endpoint", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
MyReturnObject find(@RequestParam("myParam") String myParam);
}
Và triển khai dự trữ của nó:
@Component
public Class ExampleFallback implements Example {
private final FallbackService fallback;
@Autowired
public ExampleFallback(final FallbackService fallback) {
this.fallback = fallback;
}
@Override
public MyReturnObject find(final String myParam) {
return fallback.find(myParam);
}
Ngoài ra, một thời gian chờ cấu hình cho ngắt mạch: hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 5000
Làm thế nào tôi có thể thực hiện kiểm tra tích hợp để kiểm tra xem mạch của tôi có đang hoạt động hay không, nghĩa là, nếu điểm cuối của tôi (được giả định trong trường hợp đó) là chậm hoặc nếu nó trả về lỗi như 4xx hoặc 5xx?
Tôi đang sử dụng Spring Boot 1.5.3 với Spring Cloud (Feign + Hystrix)