您的位置:首页 > 数据库

运行部署在Weblogic上的Web应用时,过一段时间程序就提示数据连接断了,重起Weblogic就好了。过一段时间又出现同样的问题。

2006-11-27 11:23 337 查看
在一个客户现场的应用上, 客户的技术人员发现,Appeon Web应用运行一段时间后,程序就提示数据连接断了。重起Weblogic就好了。可是过一段时间程序又提示数据库连接断了。

经过分析Weblogic和Appeon Server的日志发现:程序中提示数据连接断的时候,Weblogic连接池里的连接全部都不可用。

查看连接池建立的参数配置信息发现,数据库服务器与WebLogic不在一个网段。在与用户的交流中,得知为了给公司的外网用户访问和使用,Weblogic是放在了公司的DMZ区,而数据库却是在内网。由于最近一段时间,网络施工和配置,可能造成了DMZ区的Weblogic服务器和内网的数据库服务器之间的网络不稳定。可以确定,正在由于网络的问题导致连接池建立一段时间后,全部断掉。

初步的建议:
1、在Weblogic中有关连接池配置的“高级参数”部分,Weblogic提供了对连接池中的数据库连接的有效性进行检测的功能配置:
Test Frequency: 数据库连接测试之间间隔的秒数。在每个Refresh Period时间间隔之后,如果设置了TestTableName,就会使用TestTableName测试未使用的数据库连接。
Test Reserved Connections: 如果选择了这个选项,服务器会在把连接提供给客户端之前对其进行测试。
Test Created Connections: 如果选择了这个选项,就会在创建一个JDBC连接之后和在把它添加到JDBC连接池中的可用连接列表之前,对该JDBC连接进行测试。
Test Released Connections: 如果选择了这个选项,服务器就会在把连接返回给连接池之前对其进行测试。
Test Table Name: 用于JDBC连接测试的数据库表名。如果指定了Test Frequency,并且选择了Test Reserved Connections、Test Created Connections或Test Released Connections,则Table Name是必需的。

让Weblogic自己检测连接的有效性是一个不得已的解决方法,毕竟检测会耗费时间和占用Weblogic部分资源。
因此,我们又提出了进一步的建议:
1、在DMZ区放置Apache作为Web服务器,由Apahce来承受和转发外网用户的访问请求;通过Apache和Weblogic配合的方式,也可以降低Weblogic的部分负载。
2、把Weblogic服务器和数据库服务器都放在内网,保证它们之间是高速和稳定的网络连接;

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐