[英]JBoss 7.0.1 xa-datasource exception. javax.transaction.xa.XAException
我使用兩個單獨的數據源。 使用EJB3.0,我使用的non-Xa-datasources
。 我有這樣的錯誤: could not open connection
, state-aware object
。 這是因為,在一個stateless bean
我正在調用第二個stateless bean
的方法,該方法連接了不同的數據庫。 然后,我更改datasources structure
,並將其更改為xa-datasources
如下所示:
<datasources>
<xa-datasource jndi-name="java:/ooo" pool-name="ooo" enabled="true" use-java- context="true">
<xa-datasource-property name="URL">
jdbc:oracle:thin:@xxx.xxx.xxx.xxx:xxxx:orcl
</xa-datasource-property>
<driver>oracle</driver>
<security>
</security>
</xa-datasource>
<xa-datasource jndi-name="java:jboss/mysqlds" pool-name="mysqlds" enabled="true" use-java-context="true">
<xa-datasource-property name="URL">
jdbc:mysql://127.0.0.1/test
</xa-datasource-property>
<driver>mysql</driver>
<security>
</security>
</xa-datasource>
<drivers>
<driver name="oracle" module="com.oracle.ojdbc">
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
</driver>
<driver name="mysql" module="com.mysql.jdbc">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
因此,我在啟動jboss時mysql module.xml
一些錯誤,我將mysql module.xml
這個( dependency> javax.transaction.api.
):
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
一切正常,但是每2分鍾warning
一次warning
:
11:00:16,213 WARN [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016027: Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_RMERR: javax.transaction.xa.XAException
at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:709)
at org.jboss.jca.adapters.jdbc.xa.XAManagedConnection.recover(XAManagedConnection.java:358)
at org.jboss.jca.core.tx.jbossts.XAResourceWrapperImpl.recover(XAResourceWrapperImpl.java:162)
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecovery(XARecoveryModule.java:503) [jbossjts-4.16.2.Final.jar:]
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.resourceInitiatedRecoveryForRecoveryHelpers(XARecoveryModule.java:471) [jbossjts-4.16.2.Final.jar:]
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.bottomUpRecovery(XARecoveryModule.java:385) [jbossjts-4.16.2.Final.jar:]
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:166) [jbossjts-4.16.2.Final.jar:]
at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:789) [jbossjts-4.16.2.Final.jar:]
at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:371) [jbossjts-4.16.2.Final.jar:]
我解決了這個問題。 問題是user
。 我正在使用另一個正在運行的應用程序的用戶。 我創建了新user
,一切正常
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.