详解Tomcat配置参数connectionTimeout意义
发布时间:2025-12-07 20:47:31 作者:玩站小弟
我要评论
环境: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设置的详解时间后连接会被断开。
配置相关文章
近期,针对 3CX 供应链攻击事件炒的沸沸扬扬,谷歌旗下 Mandiant 追踪分析这起网络攻击事件,最终发现此次攻击是一起“套娃”式软件供应链攻击。2023 年 3 月 29,网络安全研究人员发现针2025-12-07
浅谈AFL++ fuzzing:如何进行有效且规整的fuzzing
input corpus收集语料库对于模糊测试工具而言,我们需要为其准备一个或多个起始的输入案例,这些案例通常能够很好的测试目标程序的预期功能,这样我们就可以尽可能多的覆盖目标程序。收集语料的来源多种2025-12-07
谷歌增强 Android 系统恶意软件防御能力,推出实时扫描功能
谷歌近日宣布了Google Play Protect新的实时扫描功能,使恶意应用程序更难利用多态性逃避检测。这为所有Android用户提高安全性走出了重要的一步,期待能借此有效减少平台上的恶意软件感染2025-12-07
黑暗“天使” —— Angel Drainer 钓鱼团伙揭秘
一、事件背景自 2022 年以来,各种以 Drainer 为名的钓鱼团伙逐渐冒出头,比如通过社工获取 Discord Token 并进行钓鱼的 Pink Drainer;比如通过 Permit 或 A2025-12-07
当前,企业安全运营中心(SOC)的运营人员往往会被淹没在大量数据和警报中,因此很难及时洞察一些真正有威胁的安全漏洞。在此背景下,一些安全厂商开始全力投入研发一种“自主SOC”。相比传统SOC方案,自主2025-12-07
攻击者已经增加了对Linux系统的目标攻击,并且像LaZagne(一种流行的开源密码恢复工具)这样的hacktool实用程序的易于访问性使得攻击者在恶意软件攻击链中使用它来转储密码变得越来越方便。该工2025-12-07

最新评论