Reputation: 21
Does any version of JBoss supports auto reconnect with database when there is disconnect between database and JBoss?. I tried with the below configuration in
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<datasources>
<local-tx-datasource>
<jndi-name>sampleDS</jndi-name>
<min-pool-size>1</min-pool-size>
<max-pool-size>5</max-pool-size>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<connection-url>jdbc:oracle:thin:@<ip>:<databaseport>:<sip></connection-url>
<user-name>username</user-name>
<password>password</password>
<valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<check-valid-connection-sql>SELECT 1 FROM DUAL</check-valid-connection-sql>
<failOverReadOnly>false</failOverReadOnly>
<autoReconnect>true</autoReconnect>
<maxReconnects>50</maxReconnects>
<initialTimeout>15</initialTimeout>
</local-tx-datasource>
Upvotes: 2
Views: 9994
Reputation: 4341
An example working for JBoss EAP 6.4 (based on JBoss AS 7.x) + Oracle:
<datasource>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>
<background-validation>true</background-validation>
<background-validation-millis>5000</background-validation-millis>
</validation>
Unlike select 1 from dual
, it validates connection via a vendor specific mechanism.
Upvotes: 1
Reputation: 1269
I am using jboss-eap-6.1 and its working perfectly. Modify jboss-eap-6.1/standalone/configuration/standalone.xml file and add the following lines inside each <xa-datasource>
tag.
<validation>
<check-valid-connection-sql>select 1</check-valid-connection-sql>
<background-validation>true</background-validation>
<background-validation-millis>15000</background-validation-millis>
</validation>
Upvotes: 6