1. 首页 > 快讯

详解 Tomcat 配置参数 connectionTimeout

这篇文章给大家聊聊关于详解 Tomcat 配置参数 connectionTimeout,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

环境:springboot2.5.12

application.yml配置

server: port: 8081 tomcat: maxThreads: 10 maxConnections: 10 AcceptCount: 1 connectionTimeout: 3000

测试1:

在控制器中休眠10sconnectionTimeout

@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();返回“成功”; } } 发现程序可以正常响应。

结论: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);长开始=System.currentTimeMillis();输入流=con.getInputStream();扫描仪扫描=新扫描仪(是); while(scan.hasNext()) { System.out.println('收到内容:' + scan.next() + '\n耗时:' + (System.currentTimeMillis() - start)) ; } 扫描.close() ; con.disconnect() ;构造函数=空; } }结果:

图片

结论:connectionTimeout参数与什么样的客户端发出连接请求无关。

测试3:

通过Socket建立连接

公共类TomcatConnectionTimeoutDemo { 公共静态void main(String[] args) 抛出异常{ Socket socket=new Socket('127.0.0.1', 8081) ;长开始=System.currentTimeMillis() ;输入流=socket.getInputStream() ; is.read() ; System.out.println(System.currentTimeMillis() - 开始) ;运行结果:

图片

差不多3秒后程序结束,即连接断开。然后测试:

公共类TomcatConnectionTimeoutDemo { 公共静态void main(String[] args) 抛出异常{ Socket socket=new Socket('127.0.0.1', 8081) ;长开始=System.currentTimeMillis() ;最终OutputStream os=socket.getOutputStream() ; new Thread(() -{ Scanner scan=new Scanner(System.in) ; while(scan.hasNext()) { String content=scan.next() ; System.out.println('准备发送:' + content ) ; 尝试{ os.write(content.getBytes()) ; os.flush() ; } catch (IOException e) { e.printStackTrace() } } }).start() ;输入流=socket.getInputStream(); is.read() ; System.out.println(System.currentTimeMillis() - 开始) ;结果1(不执行任何操作):

图片

结果2(控制台不断输入内容):

图片

程序一开始运行,控制台就不断输入内容,发现程序一直正常。当程序停留3秒并输入内容时,发现程序再次断开。

结论:connectionTimeout参数的意思是,当客户端连接服务器时,如果客户端没有输入任何内容,超过connectionTimeout设置的时间后,连接就会断开。

大家好,今天来为大家解答详解 Tomcat 配置参数 connectionTimeout这个问题的一些问题点,包括也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

用户评论

断秋风

一直以为 Tomcat 参数那么多很复杂,这篇文章讲得还挺清楚!

    有19位网友表示赞同!

半梦半醒半疯癫

关于连接超时时间这个概念,我以前没太理解,现在终于明白了。

    有19位网友表示赞同!

闷骚闷出味道了

学习 Tomcat 的配置参数确实很重要,这样才能更高效地使用它。

    有16位网友表示赞同!

信仰

感谢作者详细的解释,让我对connectionTimeout 有了更深入的了解!

    有18位网友表示赞同!

一笑抵千言

原来设置连接超时时间这么重要啊!以后我得好好注意这个参数。

    有11位网友表示赞同!

情深至命

这篇文章讲解得很不错,通俗易懂,很容易理解!

    有15位网友表示赞同!

你是梦遥不可及

感觉 Tomcat 的配置参数很有深度,需要慢慢学习!

    有17位网友表示赞同!

聽風

以前遇到网络延迟的问题就头疼了,这篇文章提供了一些解决途径。

    有14位网友表示赞同!

愁杀

分享给大家,希望大家能从这篇文章中有所收获!

    有9位网友表示赞同!

半梦半醒i

看了这篇文章后,我感觉对 Tomcat 的配置参数有了更好的掌控力。

    有17位网友表示赞同!

病态的妖孽

连接超时时间设置不对的话,会导致哪些问题呢? 文章可以详细说明一下吗?

    有6位网友表示赞同!

哭花了素颜

这篇文章的理论讲解很好,可以再附一些代码示例吗?

    有5位网友表示赞同!

赋流云

希望这个文章能帮助到更多想要学习 Tomcat 的朋友们!

    有17位网友表示赞同!

西瓜贩子

配置参数的调整确实需要谨慎小心,要根据具体情况来选择合适的设置。

    有5位网友表示赞同!

孤单*无名指

这篇文章解答了我的疑问,感谢作者!

    有6位网友表示赞同!

£烟消云散

以后做项目的时候要注意使用这个参数对系统的性能优化!

    有12位网友表示赞同!

烟雨萌萌

学习一下 Tomcat 的配置参数,将来应该会有所帮助!

    有15位网友表示赞同!

早不爱了

我觉得这个网站的文章质量很不错,值得推荐给其他朋友们。

    有6位网友表示赞同!

没过试用期的爱~

希望能看到更多关于 Tomcat 配置的详细文章!

    有14位网友表示赞同!

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/6417.html

联系我们

在线咨询:点击这里给我发消息

微信号:666666