jboss下面如何实现断线重连:
如果数据库服务器connect不上,系统必须重启,如何通过配置来使得系统不用重启,
在数据库reconnect的时候,可以重新使用。
-----------------------------------------
<datasources>
<local-tx-datasource>
<jndi-name>jdbc/ds</jndi-name>
<connection-url>jdbc:oracle:oci:@youroracle-tns-name</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>user</user-name>
<password>password</password>
<!-- Uses the pingDatabase method to check a connection is still valid before handing it out from the pool -->
<valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name>
<!-- Checks the Oracle error codes and messages for fatal errors -->
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<new-connection-sql>select 1 from dual</new-connection-sql>
<check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>
<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml -->
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
-----------------------------------------
但是一旦这么使用的话,性能方面是否会影响到,
每次去的数据库链接的时候都要重新检查一下。
各位给个建议。谢谢
--> 已经解决。
在配置jboss的数据库连接词的时候有个但写错了。正确的应该如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name></jndi-name>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<connection-url></connection-url>
<user-name></user-name>
<password></password>
<max-pool-size>40</max-pool-size>
<exception-sorter-class>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class>
</local-tx-datasource>
</datasources>
如果数据库服务器connect不上,系统必须重启,如何通过配置来使得系统不用重启,
在数据库reconnect的时候,可以重新使用。
-----------------------------------------
<datasources>
<local-tx-datasource>
<jndi-name>jdbc/ds</jndi-name>
<connection-url>jdbc:oracle:oci:@youroracle-tns-name</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>user</user-name>
<password>password</password>
<!-- Uses the pingDatabase method to check a connection is still valid before handing it out from the pool -->
<valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name>
<!-- Checks the Oracle error codes and messages for fatal errors -->
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<new-connection-sql>select 1 from dual</new-connection-sql>
<check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>
<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml -->
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
-----------------------------------------
但是一旦这么使用的话,性能方面是否会影响到,
每次去的数据库链接的时候都要重新检查一下。
各位给个建议。谢谢
--> 已经解决。
在配置jboss的数据库连接词的时候有个但写错了。正确的应该如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name></jndi-name>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<connection-url></connection-url>
<user-name></user-name>
<password></password>
<max-pool-size>40</max-pool-size>
<exception-sorter-class>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class>
</local-tx-datasource>
</datasources>