JDBC连接被对等关闭(怪异)

时间:2009-07-21 09:16:09

标签: java jdbc database-connection

我面临两个应用程序的奇怪问题。 这是设置:

两个运行在同一网络中的tomcat / java应用程序,连接到 相同的MS-SQL-Server。一个应用程序,恰好在DMZ中按顺序排列 可从互联网访问用于生成“jdbc连接关闭 由同行“不规则间隔的例外。

在tomcat中重新启动应用程序可以解决问题。奇怪的是, 另一个应用程序没有那个习惯和所有相关的日志 (即Windows事件日志,SQL-Serverlog,网络监视)不显示任何内容 问题。只有我的应用程序的日志才能通过同行关闭该连接......

我还检查了网络设置,连接没有中断 月。作为最后的手段,我今晚将重启整个服务器并安装wireshark 在它上面记录净工作流量...

有没有人能够找到可能导致这种情况的另一个线索?

提前谢谢

      K

2 个答案:

答案 0 :(得分:1)

有问题的应用和数据库之间有什么关系?因为它在DMZ我怀疑你有一个路由器。如果应用程序保持对数据库的连接打开,但该连接在一段时间内保持安静(例如,隔夜?),那么在没有流量的情况下,路由器可以关闭该连接。我以前见过这样的行为。

我依稀记得Release It中详述的这种情景。

您是否正在使用数据库池,并在从池中分发连接时检查连接?如果上述问题出现,您可能需要查看Apache DBCP

答案 1 :(得分:1)

大多数防火墙(形成dmz)丢弃未激活的连接。这个问题很常见。

您必须将连接池(最小大小)设置为0或1,具体取决于您的appserver。 (从内存中)WebSphere建议您将其设置为1。