您现在的位置是:亿华云 > 域名
详解Tomcat配置参数connectionTimeout意义
亿华云2025-10-08 23:00:25【域名】8人已围观
简介环境: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后程序结束了,b2b供应网也就是详解连接断开了。接着测试:
复制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设置的详解时间后连接会被断开。
配置服务器托管很赞哦!(54544)
相关文章
- 在数以亿计的网站中,我们应该抓住每一个可能带来宣传的机会,域名可以带有企业的名字,一般可以使用汉语拼音或者英语单词或者是相关缩写的形式,只要用户记住了你企业的名字,就能很容易的打出你的网站域名,同样的,记住了网站域名也能很快的记住你公司的名字。
- 穷人的量子比特:量子计算机太难造了,先试试概率计算机?
- Go 语言的结构体与方法
- Numpy怎么使用最高效,5个技巧送给你!
- tk域名是什么域名?新手对tk域名有什么看法?
- 多线程与高并发干货笔记分享,造起来
- 从一个Demo开始,揭开Netty的神秘面纱
- 前端实现“隐藏的方式”的区别
- 一下域名,看有没有显示出你所解析的IP,如果有,就说明解析是生效的;如果没有,就说明解析是不生效的。
- 一篇关于Tortoisegit Cherry-Pick的使用