Example usage for org.springframework.web.context.request.async DeferredResult DeferredResult

List of usage examples for org.springframework.web.context.request.async DeferredResult DeferredResult

Introduction

In this page you can find the example usage for org.springframework.web.context.request.async DeferredResult DeferredResult.

Prototype

public DeferredResult() 

Source Link

Document

Create a DeferredResult.

Usage

From source file:curly.commons.rx.RxResult.java

@Loggable
public static <T> DeferredResult<T> defer(Observable<T> observable) {
    DeferredResult<T> deferredResult = new DeferredResult<>();
    observable.subscribe(deferredResult::setResult, deferredResult::setErrorResult);
    return deferredResult;
}

From source file:com.sishuok.chapter3.web.interceptor.MyDefferedResultController.java

@RequestMapping("/myDefferedResult1")
@ResponseBody/*from  ww  w .ja va 2 s. co  m*/
public DeferredResult<String> myDefferedResult1() {
    final DeferredResult<String> result = new DeferredResult<String>();
    new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                Thread.sleep(2 * 1000L);
            } catch (InterruptedException e) {
            }
            System.out.println("DeferredResult?");
            result.setResult("success");
        }
    }).start();
    return result;
}

From source file:com.sishuok.chapter3.web.listener.ListenerController.java

@RequestMapping("/listener1")
@ResponseBody/*from  w w  w. jav a2 s .  c  o  m*/
public DeferredResult<String> listener1() {
    final DeferredResult<String> result = new DeferredResult<String>();
    result.onTimeout(new Runnable() {
        @Override
        public void run() {
            System.out.println("===");
        }
    });

    result.onCompletion(new Runnable() {
        @Override
        public void run() {
            System.out.println("===?");
        }
    });

    new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                Thread.sleep(2 * 1000L);
            } catch (InterruptedException e) {
            }
            System.out.println("DeferredResult?");
            result.setResult("success");
        }
    }).start();
    return result;
}

From source file:com.kixeye.chassis.transport.websocket.responseconverter.ObservableResponseConverter.java

@Override
public DeferredResult<Object> convertToDeferredResult(Object response) {
    final DeferredResult<Object> deferredResult = new DeferredResult<>();
    ((Observable<?>) response).subscribe(new Observer<Object>() {
        @Override//from w w  w.  ja va  2  s.  c  o  m
        public void onCompleted() {
            if (!deferredResult.hasResult()) {
                deferredResult.setResult(null);
            }
        }

        @Override
        public void onError(Throwable e) {
            deferredResult.setErrorResult(e);
        }

        @Override
        public void onNext(Object args) {
            deferredResult.setResult(args);
        }
    });
    return deferredResult;
}

From source file:com.kixeye.chassis.transport.websocket.responseconverter.ListenableFutureResponseConverter.java

@Override
public DeferredResult<Object> convertToDeferredResult(Object response) {
    final DeferredResult<Object> deferredResult = new DeferredResult<>();
    Futures.addCallback((ListenableFuture<?>) response, new FutureCallback<Object>() {
        @Override/*from www. ja  va2 s . co m*/
        public void onSuccess(@Nullable Object result) {
            deferredResult.setResult(result);
        }

        @Override
        public void onFailure(Throwable t) {
            deferredResult.setErrorResult(t);
        }
    });
    return deferredResult;
}

From source file:com.sishuok.chapter3.web.interceptor.MyDefferedResultController.java

@RequestMapping("/myDefferedResult2")
@ResponseBody/*w ww. jav  a2 s  .  c  om*/
public DeferredResult<String> myDefferedResult2() {
    final DeferredResult<String> result = new DeferredResult<String>();
    new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                Thread.sleep(31 * 1000L);
            } catch (InterruptedException e) {
            }
            System.out.println(
                    "DeferredResult????");
            result.setResult("success");
        }
    }).start();
    return result;
}

From source file:spring.travel.site.controllers.OptionalUserController.java

<T> DeferredResult<T> withOptionalUser(Request request, OptionalUserAction<T> action) {
    DeferredResult<T> response = new DeferredResult<>();

    if (request.getCookieValue().isPresent()) {
        withCookie(request, response, action);
    } else {//from  w w w .  j a v a  2s. co m
        withoutCookie(request, response, action);
    }

    return response;
}

From source file:com.mmj.app.web.controller.comet.CometController.java

@RequestMapping(value = "/comet/connect", headers = "accept=*/*", produces = "application/json", method = RequestMethod.POST)
@ResponseBody//from  w  w  w .  java 2  s .co  m
public DeferredResult<String> connect() {
    DeferredResult<String> deferredResult = new DeferredResult<String>();
    ConnectVO connectVO = new ConnectVO("62", true, "/meta/connect");
    deferredResult.setResult(new Gson().toJson(Arrays.asList(connectVO)));
    try {
        Thread.sleep(30000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    return deferredResult;
}

From source file:com.carlomicieli.jtrains.infrastructure.web.CompletableFutureReturnValueHandler.java

@Override
public void handleReturnValue(Object returnValue, MethodParameter returnType,
        ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception {
    final DeferredResult<Object> deferredResult = new DeferredResult<>();
    final CompletableFuture<?> future = (CompletableFuture<?>) returnValue;
    final CompletableFuture<Object> completedFuture = future.handle((ret, err) -> {
        if (ret != null) {
            deferredResult.setResult(ret);
            return ret;
        } else {//from   w  ww . j a  v a  2 s . c  om
            deferredResult.setErrorResult(err);
            return null;
        }
    });

    WebAsyncUtils.getAsyncManager(webRequest).startDeferredResultProcessing(deferredResult, mavContainer);
}

From source file:org.hydroponics.web.controller.CalibreAsyncController.java

@RequestMapping("/update")
@ResponseBody//w  ww.j  a  va 2  s  .co m
public DeferredResult<Map<String, Object>> update() {

    final DeferredResult<Map<String, Object>> result = new DeferredResult<Map<String, Object>>();
    this.calibreRequests.add(result);

    logger.fine("add deferred result");

    result.onCompletion(new Runnable() {
        public void run() {
            logger.fine("remove deferred result:" + calibreRequests.size());
            calibreRequests.remove(result);
        }
    });
    return result;
}