您现在的位置是:系统运维 >>正文
详解Tomcat配置参数connectionTimeout意义
系统运维4644人已围观
简介环境:springboot2.5.12application.yml配置复制server: port: 8081 ...
环境 :springboot2.5.12
application.yml配置
复制server: port: 8081 tomcat: maxThreads: 10 maxConnections: 10 acceptCount: 1 connectionTimeout: 30001.2.3.4.5.6.7.测试1 :
在controller中休眠10s>connectionTimeout
复制@RestController @RequestMapping("/test") public class TestController { @GetMapping("/index") public Object index() { try { System.out.println(Thread.currentThread().getName()) ; TimeUnit.SECONDS.sleep(10) ; } catch (InterruptedException e) { e.printStackTrace(); } return "success" ; } }1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.发现程序能正常地响应。详解
结论 :connectionTimeout参数与具体的配置请求响应时间是没有关系的免费模板。
测试2 :
通过HttpURLConnection发送请求
复制public class HttpURLConnectionDemo { public static void main(String[] args) throws Exception { HttpURLConnection con = (HttpURLConnection) new URL("http://localhost:8081/test/index").openConnection() ; con.setDoInput(true) ; con.setDoOutput(true) ; long start = System.currentTimeMillis() ; InputStream is 参数= con.getInputStream() ; Scanner scan = new Scanner(is) ; while(scan.hasNext()) { System.out.println("接收到内容:" + scan.next() + "\n耗时 :" + (System.currentTimeMillis() - start)) ; } scan.close() ; con.disconnect() ; con = null ; } }1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.结果:
图片
结论 :connectionTimeout参数与什么样的客户端做连接请求没关系。源码库
测试3:
通过Socket建立连接
复制public class TomcatConnectionTimeoutDemo { public static void main(String[] args) throws Exception { Socket socket = new Socket("127.0.0.1",意义 8081) ; long start = System.currentTimeMillis() ; InputStream is = socket.getInputStream() ; is.read() ; System.out.println(System.currentTimeMillis() - start ) ; } }1.2.3.4.5.6.7.8.9.10.11.运行结果:
图片
差不多3s后程序结束了,也就是详解连接断开了 。香港云服务器接着测试 :
复制public class TomcatConnectionTimeoutDemo { public static void main(String[] args) throws Exception { Socket socket = new Socket("127.0.0.1",配置 8081) ; long start = System.currentTimeMillis() ; final OutputStream os = socket.getOutputStream() ; new Thread(() -> { Scanner scan = new Scanner(System.in) ; while(scan.hasNext()) { String content = scan.next() ; System.out.println("准备发送:" + content) ; try { os.write(content.getBytes()) ; os.flush() ; } catch (IOException e) { e.printStackTrace() ; } } }).start() ; InputStream is = socket.getInputStream() ; is.read() ; System.out.println(System.currentTimeMillis() - start ) ; } }1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.结果1(什么也不做) :
图片
结果2(控制台不停的输入内容):
图片
程序一开始运行 ,控制台不停地输入内容,亿华云参数发现程序一直正常 ,意义当停留3秒后在输入内容,详解发现程序又断开了。云计算配置
结论:connectionTimeout参数是参数说当客户端与服务器连接以后,如果客户端不输入任何内容 ,源码下载意义那么超过了connectionTimeout设置的详解时间后连接会被断开 。
配置Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“信息技术视野”。http://www.bziz.cn/html/257d8999653.html
相关文章
基于Windows 32k内核提权漏洞的攻防对抗
系统运维一、产生原因1.1 Callback机制Win32k组件最初的设计和编写是完全建立的用户层上的,但是微软在 Windows NT 4.0 的改变中将 Win32k.sys 作为改变的一部分而引入,用以 ...
【系统运维】
阅读更多SaaS蔓延:含义、危害、现状及缓解方案
系统运维由于全球大流行带来的诸多限制,全球企业迅速争相采用远程工作解决方案。这种突然的变化不仅改变了企业的日常运营方式,也改变了它们使用工具的方式。该解决方案的一部分包括转向软件即服务Software as ...
【系统运维】
阅读更多SlashNext如何使用生成式AI来阻止ChatGPT网络钓鱼攻击
系统运维ChatGPT和生成式人工智能(AI)的兴起无疑增加了安全团队的负担。只需写一个简短的提示,想成为黑客的人就能在几秒钟内生成一个钓鱼电子邮件模板,然后将其发送给无数毫无戒心的用户,坐等用户错误地点击恶 ...
【系统运维】
阅读更多
热门文章
最新文章
友情链接
- 雨林木风装机教程(一步步教你如何选择雨林木风配件,组装一台性能出色的电脑)
- 大白菜v5.0装系统教程(一键安装系统,简单快捷省时省力)
- ARM服务器之战即将爆发:AWS正面对阵微软
- 揭秘格力U尊(智能控制、高能效、出色性能,格力U尊为你带来全新空调体验)
- 如何合理利用闹钟提高生活效率(闹钟的功能和运用技巧)
- 数据中心网络:什么是Spine-Leaf架构?
- 探索宾得DA551.4全身人像镜头的魅力(高清锐利无限表现力,DA551.4引领人像摄影新潮流)
- 一键Ghost使用教程(快速学习如何使用一键Ghost软件进行系统备份和还原)
- iOS系统升级——6s9.3.2与10.3.1的对比(探索新旧系统之间的优劣与差异)
- ARM服务器之战即将爆发:AWS正面对阵微软 香港物理机源码库云服务器亿华云b2b信息平台网站建设企业服务器