设为首页 收藏本站
查看: 775|回复: 0

[经验分享] omcat和weblogic服务器在数据库意外断开后重连方法

[复制链接]

尚未签到

发表于 2017-2-18 08:54:08 | 显示全部楼层 |阅读模式
  tomcat和weblogic服务器在数据库意外断开后重连方法
数据库断开后服务器重连设置文档

Tomcat设置方法
在配置Context连接池参数时候加上如下参数:复制内容到剪贴板代码:
             <parameter>
              <name>validationQuery</name>
              <value>SELECT COUNT(*) FROM DUAL</value>
            </parameter>
            <parameter>
              <name>testOnBorrow</name>
              <value>true</value>
            </parameter>
            <parameter>
              <name>testOnReturn</name>
              <value>true</value>
            </parameter>
            <parameter>
              <name>testWhileIdle</name>
              <value>true</value>
            </parameter>testOnBorrow、 testOnReturn、testWhileIdle,这些属性的意义是取得、返回对象和空闲时是否进行验证,检查对象是否有效,默认都为false即不验证。所以当使用DBCP时,数据库连接因为某种原因断掉后,再从连接池中取得连接又不进行验证,这时取得的连接实际已经时无效的数据库连接了,只有把这些属性设为true,再提供validationQuery语句就可以保证数据库连接始终有效了,oracle数据库可以使用 SELECT COUNT(*) FROM DUAL,不过DBCP要求validationQuery语句查询的记录集必须不为空,可能这也可以算一个小小的BUG,其实只要validationQuery语句执行通过就可以了。

Weblogic设置方法
进入某个连接池配置页,进入“连接“页,点击高级选项的”show“显示高级选项。
指定 "测试频率" 并启用 "测试保留的连接"、"测试创建的连接" 和 "测试释放的连接"。

测试频率(Test Frequency):  60 秒 

自动数据库连接测试之间的秒数(0 - 32 位正整数)。测试失败的连接将被关闭,然后重新打开以重新建立有效的物理数据库连接。(必须在下面指定测试表名称。)
The number of seconds (between 0 and a positive 32-bit integer) between automatic database connection tests. Connections that fail the test are closed and reopened to re-establish a valid physical database connection. (You must specify a Test Table Name below.)


测试保留的连接(Test Reserved Connections)
指定 WebLogic Server 是否在将连接提供给客户端之前测试该连接。(必须在下面指定测试表名称。)  
Specifies whether WebLogic Server tests a connection before giving it to the client. (You must specify a Test Table Name below.)  

测试创建的连接(Test Created Connections) 
指定 WebLogic Server 是否在创建连接后且将该连接添加到缓冲池中可用连接列表之前对该连接进行测试。(必须指定测试表名称。)   
Specifies whether WebLogic Server tests a connection after creating it but before adding it to the list of connections available in the pool. (You must specify a Test Table Name.)

测试释放的连接(Test Released Connections) 
指定 WebLogic Server 是否在将连接返回到该 JDBC 连接缓冲池之前测试该连接。(必须指定测试表名称。)  
Specifies whether WebLogic Server tests a connection before returning it to this JDBC connection pool. (You must specify a Test Table Name.)

连接保留超时(Connection Reserve Timeout): 设为 30 秒 
在保留缓冲池连接的调用超时之前的秒数(-1 - 32 位正整数)。如果设置为 -1,则调用永远不会超时。
The number of seconds (between -1 and a positive 32-bit integer) after which a call to reserve a connection from the pool will timeout. When set to 0, a call will never timeout. When set to -1, a call will timeout immediately


重试创建连接的频率(Connection Creation Retry Frequency): 设为 30 秒 
尝试建立与数据库的连接的间隔秒数(0 - 32 位正整数)。适用于在数据库不可用的情况下服务器启动时创建的连接缓冲池。
The number of seconds (between 0 and a positive 32-bit integer) between attempts to establish connections to the database. Applies to connection pools created at server startup when the database is unavailable.

钝化连接超时(Inactive Connection Timeout):
The number of inactive seconds on a reserved connection (between 0 and a positive 32-bit integer) before WebLogic Server reclaims the connection and releases it back into the connection pool.
服务器申请复议连接并且保留返回给连接池前的钝化时间

测试表名称(Test Table Name):  
oracle的连接池默认为 SQL SELECT 1 FROM DUAL,sybase数据库可以填入一个记录不多的配置表名例如sys_code。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-343673-1-1.html 上篇帖子: WebLogic报错Unable to access the selected application. Exception in AppMerge flows 下篇帖子: WebLogic Server高级管理之三:集群下的HTTP Session管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表