润乾报表数据库连接池数据库异常自动重连配置汇总

在实际应用中,我们有的时候会遇到这样一种情况:

数据库和应用服务器分别在两台主机上,当数据库连接意外断开自动重新连接后,应用和数据库能够重新连接成功,但是报表应用就无法使用了,必须重启应用服务器,才能继续使用报表应用。

那么有没有什么办法,不重启应用服务器就可以重新连接呢?

下面就是数据库连接池数据库异常自动重连配置的方法:

DBCP

对属性 validationQuery 设置一个简单的SQL语句就行了,例如:select 1 mysql sql server 适用);

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 DUALsybase数据库可以填入一个记录不多的配置表名例如sys_code

The name of the database table to use when testing physical database connections. This field is required when you specify a Test Frequency and enable Test Reserved Connections, Test Created Connections, and Test Released Connections.

JBoss

加上以下标注红线的内容就是加上自动重连功能!

<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>test</jndi-name>
<connection-url>jdbc:oracle:thin:@192.168.0.1:1521:test</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>test</user-name>
<password>123456</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<!--<new-connection-sql>select 1 from testtable</new-connection-sql>-->
<check-valid-connection-sql>select 1 from testtable</check-valid-connection-sql>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
<idle-timeout-minutes>0</idle-timeout-minutes>
<track-statements/>
<prepared-statement-cache-size>32</prepared-statement-cache-size>
</local-tx-datasource>
</datasources> 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值