3

您好,我们使用 JBOSS AS 7.1.1 Final。简单的 JPA Hibernate 架构与 Mysql。

xa 数据源如下所示:

<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>

MySQL重启后,JBOSS应该重新连接(reconnect)但是没有发生。请指教

4

1 回答 1

5

这个对我有用。尝试添加这个:

<validation>
    <check-valid-connection-sql>select 1</check-valid-connection-sql>
    <background-validation>true</background-validation>
    <background-validation-millis>15000</background-validation-millis>
</validation>
于 2013-12-31T10:59:30.123 回答