【发布时间】:2016-05-27 05:42:02
【问题描述】:
我有一个返回 DeferredResults 的休息网络服务。我从返回 Future 的执行器服务中实现了 JavaRx Observable。我希望这个网络服务是非阻塞的,但它似乎阻塞了操作。
你认为我使用执行器服务的方式健康吗?
DeferredResult result = new DeferredResult();
Observable<ResultEntity> observable = Observable
.from(executerService.submit(callable));
observable.subscribe(new Subscriber<ResultEntity>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable throwable) {
result.setErrorResult(throwable.getMessage());
}
@Override
public void onNext(ResultEntity r) {
result.setResult(t);
}
});
【问题讨论】:
-
谢谢。我之前也使用过 CompatableFuture 来构建一个非阻塞服务并且它有效。但我想了解 RxJava 以及如何使用它创建非阻塞服务。这就是我问这个问题的原因。
标签: java rest rx-java blocking nonblocking