多次请求后tomcat网页无法响应请求,假死【控制台始终可以正常响应】
---① 控制台没有错误信息:
---② tomcat根/logs 没有日志
---③ cmd下查看8080端口:netstat -ano|findstr 8080
● 可能的解决方法:
1、控制台【信息】:
■ 警告: 使用[SHA1PRNG]创建会话ID生成的SecureRandom实例花费了[270]毫秒。
----网上搜索的主要解决方法如下:【对于我的情况,无效】
找到 $JAVA_HOME/jre/lib/security/java.security 这个文件,找到里面的 securerandom.source=file:/dev/random 或者securerandom.source=file:/dev/urandom 修改为securerandom.source=file:/dev/./urandom
■ 信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。
----网上搜索的主要解决方法如下:【对于我的情况,无效】
找到 tomcat根/conf/catalina.propeties 文件:将tomcat.util.scan.StandardJarScanFilter.jarsToSkip=/ 改为tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*.jar
--------------自己摸索的解决方法:【解决警告和信息】(这个警告信息解决不解决问题不大啦)
双击打开Servers服务器:
✿but,but,but 多次请求后tomcat网页无法响应请求,假死【控制台始终可以正常响应】
-------------------------但是根本问题还是没有解决---------------
■ 再次参考一下网上其他方法:
2、[更改jar包---改成使用比较新的jar包]:数据库连接池驱动druid.jar 数据库连接池驱动mysql-connector.jar 【我换包了,没有用】
3、自己猜的一种方法:【还是没有治根】:修改Druid的配置文件的中设置的最大线程连接数量:将原来线程连接数5改成20,效果好很多,但是还是会因为请求次数多了(请求个8次左右,就又假死了)
4、控制台:发现close_wait 有点多
■ 再次参考一下网上其他方法:
初步判断是tomcat假死造成的。而能造成tomcat假死的多半就是jvm出问题了。[使用java 的jdk提供的java VisualVM]
--------------------------------------------------问题1: java VisuaIVM怎么使用?
-----------搜下文章或视频:java基础教程虚拟机性能分析和故障解决工具。
-----------学会用工具了,但是学得比较浅,知道问题出现在哪里,但是发生问题了还不会解决,下次学jvm再来解决。
✿ 家人们我回来了~~~
✿✿ 我带着原因回来了~~~~
✿✿✿ 原因就是jdbc查询操作时,关闭资源时,漏关闭了【我是因为关闭了连接对象、语句对象,但是结果集对象却忘记关闭了。。。】