Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Jboss cant reconnect to Mysql after database restart

Hello we use JBOSS AS 7.1.1 Final. Simple JPA Hibernate architecture versus Mysql.

The xa-datasource looks like:

<xa-datasource jndi-name="java:jboss/datasources/db" pool-name="db" enabled="true" use-java-context="true">
<xa-datasource-property name="ServerName">
localhost
</xa-datasource-property>
<xa-datasource-property name="DatabaseName">
db
</xa-datasource-property>
<xa-datasource-property name="User">
root
</xa-datasource-property>
<xa-datasource-property name="Password">
xxxxx
</xa-datasource-property>
<xa-datasource-property name="AutoReconnectForPools">
true
</xa-datasource-property>
<xa-datasource-property name="FailOverReadOnly">
false
</xa-datasource-property>
<xa-datasource-property name="MaxReconnects">
100
</xa-datasource-property>
<xa-datasource-property name="ReconnectAtTxEnd">
true
</xa-datasource-property>
<driver>com.mysql</driver>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
<check-valid-connection-sql>select 1</check-valid-connection-sql>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
</validation>
</xa-datasource>

After the MySQL is restarted, JBOSS should renew the connection (reconnect) but it doesnt happen. Please advise

like image 334
Alexey Avatar asked Dec 04 '25 18:12

Alexey


1 Answers

It works for me. Try to add this:

<validation>
    <check-valid-connection-sql>select 1</check-valid-connection-sql>
    <background-validation>true</background-validation>
    <background-validation-millis>15000</background-validation-millis>
</validation>
like image 121
user1209304 Avatar answered Dec 06 '25 07:12

user1209304



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!