您现在的位置是:IT资讯 >>正文
详解Tomcat配置参数connectionTimeout意义
IT资讯6399人已围观
简介环境: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.bzli.cn/news/146f7899775.html
相关文章
CISO最容易忽视的八个云安全关键问题
IT资讯随着企业数字化转型的深入,越来越多的企业依赖多个云服务商,云安全问题日益复杂和严峻,云宕机或数据泄露导致的业务停顿不但意味着财务和声誉的巨大损失,甚至会给企业带来灭顶之灾。近年来,全球云计算巨头如亚马 ...
【IT资讯】
阅读更多英特尔亮相 2023 开放原子全球开源峰会:秉持全栈软件开放战略,助推科技创新
IT资讯在数字时代的今天,面对日益复杂的应用场景和业务发展需求,开源已经成为推动全球科技创新新模式。在《“十四五”软件和信息技术服务业发展规划》中,明确提出了“建设 2~3 个有国际影响力的开源社区”的要求, ...
【IT资讯】
阅读更多探索三星PM951256GM.2的性能表现与特点(全面解析三星PM951256GM.2固态硬盘的优势与不足)
IT资讯随着科技的不断进步,固态硬盘SSD)已经成为计算机存储设备的主流选择之一。而三星PM951256GM.2作为三星旗下一款顶级固态硬盘,备受关注。本文将对该固态硬盘的性能表现和特点进行深入探讨,帮助读者 ...
【IT资讯】
阅读更多