3

こんにちは、JBOSS AS7.1.1Finalを使用しています。単純なJPAHibernateアーキテクチャとMysql。

xa-datasourceは次のようになります。

<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は接続を更新(再接続)する必要がありますが、それは行われません。お知らせ下さい

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 に答える