博客
关于我
Closing connections idle longer than 5000 MILLISECONDS
阅读量:748 次
发布时间:2019-03-22

本文共 858 字,大约阅读时间需要 2 分钟。

今天遇到了一个挺有意思的问题,就是同学的bug,每次启动Tomcat都会每秒打印一段日志,看起来像是空闲连接超过60秒没有关闭。在解决这个问题的过程中,确实遇到了不少困难和挑战。

最开始,我以为问题可能出现在数据库连接池的设置上。于是仔细检查数据库连接池的配置,发现配置本身并没有问题。随后,我进一步分析了Tomcat服务器的日志,发现日志打印的内容主要集中在连接的关闭过程中。最后,我怀疑是不是数据库连接的管理出了问题,特别是在使用腾讯云COS上传文件时,是否正确地关闭了连接。

为了验证这个猜想,我仔细检查了我之前写的COS上传文件的代码,发现自己可能忽略了一些重要的细节。在使用COS客户端的时候,如果没有正确使用 shutdown() 的方法,可能会导致连接一直处于打开状态。而日志中显示的内容正是关于连接没有及时关闭的信息。

于是,我调整了代码,确保在完成文件上传之后,及时调用 cosClient.shutdown()。经过测试后,发现在Tomcat启动之后,日志不再每秒打印那段内容。问题似乎得到了解决。

但这个过程并没有完美。刚开始,我误以为这个问题出在数据库连接池上,结果进行了很多无效的调试。这让我意识到,在面对类似的问题时,首先要冷静下来,仔细分析日志,然后逐步排查问题的根源,而不是盲目地修改不相关的部分。

还有一个值得注意的地方,就是很多人的解决方案没有解决问题,可能是因为他们没有看到真实的代码,或者没有足够地理解问题的具体情况。只有看到真实的代码,才能提出切实可行的解决方案。如果代码本身没有问题,就要从配置和环境的角度去分析。

最后,我在回顾解决这个问题的过程时,发现最关键的一点是正确地管理数据库连接和第三方服务的连接。特别是在使用云服务如腾讯云COS时,正确的关闭和释放资源的方式是确保避免连接资源的泄漏。

总的来说,这次问题的解决提醒了我,在编写代码和处理第三方服务时,要更加注重细节,确保每一步操作都能得到正确的执行。只有这样,在面对类似的问题时,才能更高效地定位和解决问题。

转载地址:http://yzqwk.baihongyu.com/

你可能感兴趣的文章
NHibernate异常:No persister for的解决办法
查看>>
Nhibernate的第一个实例
查看>>
NHibernate示例
查看>>
nid修改oracle11gR2数据库名
查看>>
NIFI1.21.0/NIFI1.22.0/NIFI1.24.0/NIFI1.26.0_2024-06-11最新版本安装_采用HTTP方式_搭建集群_实际操作---大数据之Nifi工作笔记0050
查看>>
NIFI1.21.0_java.net.SocketException:_Too many open files 打开的文件太多_实际操作---大数据之Nifi工作笔记0051
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_插入时如果目标表中已存在该数据则自动改为更新数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0058
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_更新时如果目标表中不存在记录就改为插入数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0059
查看>>
NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
查看>>
NIFI1.21.0_Postgresql和Mysql同时指定库_指定多表_全量同步到Mysql数据库以及Hbase数据库中---大数据之Nifi工作笔记0060
查看>>
NIFI1.21.0最新版本安装_连接phoenix_单机版_Https登录_什么都没改换了最新版本的NIFI可以连接了_气人_实现插入数据到Hbase_实际操作---大数据之Nifi工作笔记0050
查看>>
NIFI1.21.0最新版本安装_配置使用HTTP登录_默认是用HTTPS登录的_Https登录需要输入用户名密码_HTTP不需要---大数据之Nifi工作笔记0051
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增加修改实时同步_使用JsonPath及自定义Python脚本_03---大数据之Nifi工作笔记0055
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_插入修改删除增量数据实时同步_通过分页解决变更记录过大问题_01----大数据之Nifi工作笔记0053
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
查看>>
NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现update数据实时同步_实际操作05---大数据之Nifi工作笔记0044
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
查看>>