我有一个在 Tomcat 6 上运行 java 1.6 的旧 Java 应用程序。由于它在环境中的设置方式,很难进行任何内部诊断 - 基本上我无法触摸它 - 它是一个黑盒。
由于缺少免费连接,该应用程序正在崩溃。限制设置得很高(最多 255 个并行连接),但是即使打开的连接数像 60,它仍然会崩溃。
netstat显示recvQ中有很多数据(只是一个例子):
tcp 1464 0 localhost:7076 remote-host1:3120 ESTABLISHED
tcp 2512 0 localhost:7611 remote-host2:3120 ESTABLISHED
tcp 6184 0 localhost:4825 remote-host3:3120 ESTABLISHED
我找不到有关此案的任何有用提示(类似问题在这里:https ://serverfault.com/questions/672730/no-connection-available-in-pool-netstat-recvq-shows-high-number )。
问题:
1)为什么应用程序没有读取收到的所有数据?
2)由于没有读取所有数据,因此打开了另一个与数据库的连接。我对吗?
任何想法将不胜感激。