美文网首页
spring web请求延迟返回

spring web请求延迟返回

作者: yiang飞扬 | 来源:发表于2022-12-06 18:16 被阅读0次

无意间发现spring可以通过DeferredResult实现请求延时返回,当客户端请求的时候,可能数据还没准备好或者需要等待其它业务,这时候我们可以使用DeferredResult,等数据准备好的时候在返回。示例如下:

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.context.request.async.DeferredResult;

@RestController
public class TestDeferredResultController {
    @GetMapping("/getDeferredResult")
    public DeferredResult test(){

        DeferredResult deferredResult=new DeferredResult(6000l,"timetout");
        new Thread(){
            public void run(){
                try {
                    Thread.sleep(3000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                deferredResult.setResult("delay result"+i);
            }
        }.start();
        return deferredResult;
    }
}

在实际业务中,我们可以根据业务在合适的地方执行 deferredResult的setResult方法。如果我们自己实现,可能需要我们通过循环或者监听的方式来实现,有了DeferredResult 实现起来就相对简单了。

相关文章

  • spring web请求延迟返回

    无意间发现spring可以通过DeferredResult实现请求延时返回,当客户端请求的时候,可能数据还没准备好...

  • Django views视图, since 2022-01-12

    (2022.01.13 Thur)视图views,python函数集,接收web的请求,返回web响应。不管请求如...

  • Django视图[介绍]

    视图 视图负责接受Web请求HttpRequest,进行逻辑处理,返回Web响应HttpResponse给请求者。...

  • Spring MVC

    Spring mvc 介绍 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动...

  • Spring MVC

    Spring mvc 介绍 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动...

  • 近期学习 2016-11-25

    Spring MVC在Web项目中的应用 Spring MVC处理请求的过程 RequestMappingHand...

  • Spring mvc-容器初始化分析

    1.Spring mvc:基于spring的处理web请求的半封装框架(基于servlet处理web层体系的延升框...

  • Django视图-简介

    视图的功能 视图负责接受Web请求HttpRequest,进行逻辑处理,返回Web响应HttpResponse给请...

  • View模块

    视图 视图的功能 视图负责接收Web请求HttpRequest, 进行逻辑处理,返回web响应HttpRespon...

  • django视图

    视图 视图的功能 视图负责接受Web请求HttpRequest,进行逻辑处理,返回Web响应HttpRespons...

网友评论

      本文标题:spring web请求延迟返回

      本文链接:https://www.haomeiwen.com/subject/fmjifdtx.html