У меня есть метод Observable, который вызывается следующим образом
Observable<Optional<data1>> data1Observable = Observable.fromCallable(() ->
java.util.Optional.ofNullable(service.getData()))
.subscribeOn(Schedulers.io())
.onErrorReturn(error -> {
logger.error("Failed to fetch data={}", error.getMessage());
return Optional.empty();
});
Observable<Optional<data2>> data2Observable = Observable.fromCallable(() ->
Optional.ofNullable(service2.getData()))
.subscribeOn(Schedulers.io())
.onErrorReturn(error -> {
logger.error("Failed to fetch data2={}", error.getMessage());
return Optional.empty();
});
Observable.zip(data1Observable, data2Observable, (data1Response, data2Response) -> {
//Do something with data
}).blockingFirst();
Service class
-------------
@HystrixCommand(commandKey = "testService", fallbackMethod = "fallBackMethod")
public data getData(){
// Fire up downstream service to get data
}
public String fallBackMethod() {
return new data1();
}
Когда я запускаю приложение, оно всегда сталкивается с thread interrupted
исключением. Я не мог много информации из сообщения об исключении тоже. Но все хорошо, если я только что удалил аннотацию @HystrixCommand
. Я использую RxJava 2 в приложении. Пожалуйста, дайте мне знать, почему возникает прерванное исключение. Заранее спасибо.