मेरे आवेदन में, मुझे बाहरी अंतराल पर कॉल करने की आवश्यकता है और यदि यह बहुत धीमी है तो फ़ॉलबैक सक्रिय हो जाता है।मेरे सर्किट ब्रेकर फ़ॉलबैक को कॉल करने के लिए एकीकरण परीक्षण को कैसे कार्यान्वित किया जाए?
@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);
}
और इसकी फ़ॉलबैक क्रियान्वयन:
@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);
}
इसके अलावा, सर्किट ब्रेकर के लिए एक कॉन्फ़िगर किया गया समय समाप्त: hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 5000
निम्नलिखित कोड कैसे मेरे ऐप की तरह दिखता है का एक उदाहरण है
मेरा सर्किट ब्रेक काम कर रहा है या नहीं, यह जांचने के लिए कि मैं अपना एंडपॉइंट (उस मामले में मजाक कर रहा हूं) एकीकरण परीक्षण कैसे कार्यान्वित कर सकता हूं धीमा या अगर यह 4xx या 5xx की तरह एक त्रुटि देता है?
मैं वसंत बूट का उपयोग कर रहा स्प्रिंग बादल (बहाना करना + Hystrix)