zoukankan      html  css  js  c++  java
  • springMvc异步处理请求

    方式一

        @GetMapping("/test")
        public WebAsyncTask<CommonResult> test() throws Exception {
            log.info("主线程开始");
            Callable<CommonResult> result = (() -> {
                log.info("副线程开始");
                Thread.sleep(10000);
                log.info("副线程结束");
                return CommonResult.success(null,"success");
            });  //直接Callable也可以,但是不能设置超时时间和超时回调以及成功回调
            WebAsyncTask<CommonResult> webAsyncTask = new WebAsyncTask<>(300000, result);
            webAsyncTask.onTimeout(timeOutCallBack());
            log.info("主线程结束");
            return webAsyncTask;
        }
    
        /**
         * 超时回调
         */
        private Callable<CommonResult> timeOutCallBack(){
            Callable<CommonResult> callback = (()-> {
                log.info("请求超时");
                return CommonResult.failed("请求超时");
            });
            return callback;
        }
    
  • 相关阅读:
    uoj 36 玛里苟斯
    readlink
    Endless Spin
    rm
    rmdir
    [学习笔记]min-max容斥
    cp
    [HAOI2015]按位或
    java实现第四届蓝桥杯公式求值
    java实现第四届蓝桥杯危险系数
  • 原文地址:https://www.cnblogs.com/MND1024/p/11044785.html
Copyright © 2011-2022 走看看