@Override public void onTimeout(Runnable callback) { this.deferredResult.onTimeout(callback); }
public void onTimeout(Runnable timeoutCallback) { result.onTimeout(timeoutCallback); }
@Override public void onSubscribe(Subscription subscription) { this.result.onTimeout(subscription::cancel); subscription.request(Long.MAX_VALUE); }
@Override public void onTimeout(Runnable callback) { this.deferredResult.onTimeout(callback); }
@Override public void onSubscribe(Subscription subscription) { this.result.onTimeout(subscription::cancel); subscription.request(Long.MAX_VALUE); }
.onTimeout(() -> logWatchedKeys(watchedKeys, "Apollo.LongPoll.TimeOutKeys"));
@Test public void onTimeout() throws Exception { final StringBuilder sb = new StringBuilder(); DeferredResultHandler handler = mock(DeferredResultHandler.class); DeferredResult<String> result = new DeferredResult<>(null, "timeout result"); result.setResultHandler(handler); result.onTimeout(new Runnable() { @Override public void run() { sb.append("timeout event"); } }); result.getInterceptor().handleTimeout(null, null); assertEquals("timeout event", sb.toString()); assertFalse("Should not be able to set result a second time", result.setResult("hello")); verify(handler).handleResult("timeout result"); }
@Test public void startDeferredResultProcessingTimeoutAndResumeThroughCallback() throws Exception { final DeferredResult<Integer> deferredResult = new DeferredResult<>(); deferredResult.onTimeout(new Runnable() { @Override public void run() { deferredResult.setResult(23); } }); this.asyncManager.startDeferredResultProcessing(deferredResult); AsyncEvent event = null; this.asyncWebRequest.onTimeout(event); assertTrue(this.asyncManager.hasConcurrentResult()); assertEquals(23, this.asyncManager.getConcurrentResult()); assertEquals("/test", ((MockAsyncContext) this.servletRequest.getAsyncContext()).getDispatchedPath()); }
@Override public void onTimeout(Runnable callback) { this.deferredResult.onTimeout(callback); }
@Override public void onSubscribe(Subscription subscription) { this.result.onTimeout(subscription::cancel); subscription.request(Long.MAX_VALUE); }
public DeferredResultSubscriber(Observable<T> observable, DeferredResult<T> deferredResult) { this.deferredResult = deferredResult; this.deferredResult.onTimeout(this); this.deferredResult.onCompletion(this); this.subscription = observable.subscribe(this); }
public DeferredResultObserver(Observable<T> observable, DeferredResult<T> deferredResult) { this.deferredResult = deferredResult; this.deferredResult.onTimeout(this); this.deferredResult.onCompletion(this); observable.subscribe(this); }
public DeferredResultWriter( Observable<T> observable , DeferredResult<ResponseEntity<T>> deferredResult , MultiValueMap<String, String> headers , HttpStatus status) { this.deferredResult = deferredResult; this.headers = headers; this.status = status; this.deferredResult.onTimeout(this); this.deferredResult.onCompletion(this); observable.subscribe(this); }
result.onTimeout(new Runnable() {
public <T> DeferredResult<T> build() { validate(); final DeferredResult<T> deferredResult = new DeferredResult<>(Optional.ofNullable(timeout).orElse(DEFAULT_TIMEOUT)); Futures.addCallback(future, new FutureCallback<Context>() { @Override public void onSuccess(Context result) { try { deferredResult.setResult(getSuccessValue(result)); } catch (Exception ex) { log.error("Error in get success value to DeferredResult. {}", result, ex); deferredResult.setErrorResult(failure == null ? ex : failure.apply(ex)); } } private T getSuccessValue(Context result) { if (success != null) { return (T) success; } else if (successFunction != null) { return (T) successFunction.apply(result); } else { return (T) successSupplier.get(); } } @Override public void onFailure(Throwable t) { deferredResult.setErrorResult(failure == null ? t : failure.apply(t)); } }); deferredResult.onTimeout(() -> future.cancel(false)); return deferredResult; }