SpringMVC异步处理的示例分析
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍SpringMVC异步处理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!异步处理 demo如果要启用异步返回,需要开启 @EnableAsync。如下
千家信息网最后更新 2026年11月03日SpringMVC异步处理的示例分析
这篇文章主要介绍SpringMVC异步处理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
异步处理 demo
如果要启用异步返回,需要开启 @EnableAsync。如下的代码中,使用 DeferredResult 进行异步处理。
请求进来后,首先创建 DeferredResult 对象,设置超时时间为 60 秒。然后指定DeferredResult 在异步完成和等待超时时的回调。同步的处理只需要创建异步任何,然后返回DeferredResult 即可。这样 Spring MVC 处理完此次请求后,不会立即返回 response 给客户端,会一直等待DeferredResult 处理完成。如果DeferredResult 没有在 60 秒内处理完成,就会触发超时,然后返回 response 给客户端。
@RequestMapping(value = "/async/demo")public DeferredResultasync(){ // 创建 DeferredResult,设置超时时间 60s DeferredResult deferredResult = new DeferredResult<>((long)60 * 1000); String uuid = UUID.randomUUID().toString(); Runnable callback = () -> manager.remove(deferredResult, uuid); // 设置完成和超时的回调 deferredResult.onCompletion(callback); deferredResult.onTimeout(callback); // 创建异步任务 manager.addAsyncTask(deferredResult, uuid); // 同步返回 DeferredResult return deferredResult;}
对于异步任务来说,需要持有DeferredResult 对象。在异步处理结束时,需要手动调用DeferredResult.setResult完成输出。调用setResult 时,数据输出写到客户端,然后触发异步完成事件执行回调。
task.getDeferredResult().setResult(ConfigJsonUtils.toJsonString(map));
以上是"SpringMVC异步处理的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
处理
客户
客户端
示例
分析
任务
内容
对象
时间
篇文章
同步
输出
事件
代码
价值
兴趣
小伙
小伙伴
手动
数据
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技名片
科技互联网产品
今日互联网科技
网络科技有限互联网
互联网金融 金融科技
深圳互联网络科技有限公司
壕鑫互联网络科技
互联网科技logo
苏州大垚互联网科技
互联网实体化科技化
成都玖崟互联网科技有限公司乐商圈怎么样
须眉科技是互联网公司吗
温州喔噻互联网科技有限公司
承德科技产业互联网发展
来此购互联网科技有限公司
浙江互联网科技研学营
玉溪新华互联网科技好不好
朱啸虎曾投资哪些互联网科技企业
卓翼科技产业互联网合作
普陀区互联网教育科技管理办法
互联网科技与金融科技
天津摩尔互联网科技
深圳天众互联网科技公司
润盈互联网科技
字节跳动和互联网科技
青岛科技大学互联网大赛研究生
哈尔滨屹滨互联网科技有限公司
如何创新互联网科技
同城互联网络科技
六子台科技互联网展会