当前位置: 首页 > news >正文

java long polling_如何在Spring Boot应用程序中实现Long Polling REST endpoints ?

对于长拉请求,您可以使用 DeferredResult . 当您返回DeferredResult响应时,请求线程将是空闲的,并且此请求由工作线程处理 . 这是一个例子:

@GetMapping("/test")

DeferredResult test(){

Long timeOutInMilliSec = 100000L;

String timeOutResp = "Time Out.";

DeferredResult deferredResult = new DeferredResult<>(timeOutInMilliSec,timeOutResp);

CompletableFuture.runAsync(()->{

try {

//Long pooling task;If task is not completed within 100 sec timeout response retrun for this request

TimeUnit.SECONDS.sleep(10);

//set result after completing task to return response to client

deferredResult.setResult("Task Finished");

}catch (Exception ex){

}

});

return deferredResult;

}

在此请求中,等待10秒后给出响应 . 如果等待超过100秒,您将获得超时响应 .

相关文章:

  • java获取其他线程的错误_java多线程开发容易犯的错误
  • java 检索数据_java代码实现搜索elasticsearch索引数据
  • java非异步线程池_Spring Boot利用@Async异步调用:ThreadPoolTaskScheduler线程池的优雅关闭详解...
  • mongo java driver 3.2_MongoDB-JAVA-Driver 3.2版本常用代碼全整理(2) - 查詢
  • java中标记怎么用_在Java中使用标记(标签)
  • java结束sql链接_数据查询时报出java.sql.SQLException: 关闭的连接
  • java 控制台画表格_Java库在控制台上构建和打印表格?
  • 242. valid anagram java_Leetcode242 Valid Anagram JAVA语言
  • java 查找大写字母_Java实现给定一个包含大写字母和小写字母的字符串,找到通过这些...
  • java 绘图球的移动_在Java上绘制2个朝不同方向移动的球,但一个消失了
  • php中购物车结算代码,jquery购物车结算功能实现方法
  • php.ini配置 耗时,配置PHP.INI监测服务器的脚本耗时
  • java自动生成测试与评估,jmeter如何自动生成测试报告
  • php memcached存储对象,从memcached获取对象并在PHP中设置为self
  • java阅读安卓,java – 如何在android中逐行阅读?
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • Javascript弹出层-初探
  • SpriteKit 技巧之添加背景图片
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 码农张的Bug人生 - 初来乍到
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 微服务框架lagom
  • 译米田引理
  • PostgreSQL之连接数修改
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​Java并发新构件之Exchanger
  • ​香农与信息论三大定律
  • ###STL(标准模板库)
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #传输# #传输数据判断#
  • #数学建模# 线性规划问题的Matlab求解
  • #在 README.md 中生成项目目录结构
  • (27)4.8 习题课
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (附源码)ssm码农论坛 毕业设计 231126
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (译) 函数式 JS #1:简介
  • .mysql secret在哪_MYSQL基本操作(上)
  • .net/c# memcached 获取所有缓存键(keys)
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • .sys文件乱码_python vscode输出乱码
  • [ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现
  • [ Linux 长征路第五篇 ] make/Makefile Linux项目自动化创建工具
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解
  • [ 数据结构 - C++] AVL树原理及实现
  • [20170713] 无法访问SQL Server
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息
  • [ComfyUI进阶教程] animatediff视频提示词书写要点
  • [ERROR] ocp-server-ce-py_script_start_check-4.2.1 RuntimeError: ‘tenant_name‘
  • [github配置] 远程访问仓库以及问题解决
  • [javaSE] GUI(Action事件)