我的一些 servlet 遇到了一个非常奇怪的问题。下面是我的配置:
- 文件夹 A 在 Tomcat 目录中部署了 X 个 servlet
- 文件夹 B 在 Tomcat 目录中部署了 Y 个 servlet
经过一定时间或点击文件夹 B 中的任何 servlet 后,它会停止正常工作,而同时文件夹 A 中的所有 servlet 都可以正常工作。
我无法追踪我在哪里做错了。
两个文件夹的 servlet 的所有编码都是相同的,唯一的区别是它们与不同的数据库交互,但它是非常简单的数据库只读操作。
有任何想法吗?
问题出在记录器上。当线程完成执行时,Logger 实例不会隐式释放,并且由于没有 close() 等明显的方法来关闭 Logger 实例,因此 doGet / doPost 线程无法正常退出。
摆脱 Logger,或者显式销毁实例/将其分配为 null 将解决问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)