簡體   English   中英

可從執行者服務觀察到的具有Java的Rest服務

[英]Rest Service with Java Observable from Executer Service

我有一個休息的Web服務,它返回DeferredResults。 我從返回Future的執行程序服務中實現了JavaRx Observable。 我希望此Web服務不受阻礙,但似乎正在阻止該操作。

您認為我使用執行程序服務的方式是否健康?

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);

                }

            });

如果您有Callable ,則可以使用fromCallable

Observable.fromCallable(callable)
.subscribeOn(Schedulers.from(executorService))
.subscribe(...)

如文檔中所述, Observable.from(Future)正在阻止操作。 您應該改用Observable.from(Future,Scheduler)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM