When WebLogic performs an XA operation, we encounter the following error, which is later found to be a JDBC configuration problem.
Main error:
Java.sql.SQLException:XA error:XAER_NOTA:The XID is not valid start () failed on resource
' Weblogic.jdbc.jta.DataSource ': XAER
_nota:the XID is not valid
Checked, Xaer_nota the transaction branch on the ResourceManager side (DB, MQ, etc.) does not exist. Does not exist usually by two kinds of possible:
1.transaction Branch was dropped by a timeout,
2. It is this branch that has not been launched at the ResourceManager end.
For 1, you can enable XA Transaction timeout in the Xaconnectionpool setting of the WebLogic, and set a reasonable value for this value, which is recommended to be larger than global Transaction timeout. In this way, when calling Xastart (), the WebLogic will notify RM, the branch timeout time, instead of using the RM's own default timeout (for Oracle, which defaults to 60 seconds, but typically in 120 seconds, the TX Branch will be removed by Oracle timeout).
For 2, it is generally related to configuration, such as two XA datasource pointing to the same xaconnectionpool, or multiple xaconnectionpool pointing to the same
A database,
The original configuration in this example is only one JDBC POOL:
The list error is as follows.
The detailed error in this case:
2009-12-30 13:50:27,219 DEBUG [Iaacctconnector] Errorflag:false
2009-12-30 13:50:27,234 Error [logger] Error Process = Acctcrmibsdown
Error Node = No_entry
InstanceId = No_entry
Businessid = 376042
City = Taizhou
Module Type = Crmibs_acct_eai
Error Code = 6291476
Error Type = 16273440
Error MSG = Sqlmapiamanageacctosscidao Postacct JDBC Exception; Nested exception is
Org.springframework.jdbc.CannotGetJdbcConnection
Exception:could not get JDBC connection; Nested exception is java.sql.SQLException:Unexpected exception
While enlisting Xaconnecti
On Java.sql.SQLException:XA error:XAER_NOTA:The XID isn't valid start () failed on resource
' Weblogic.jdbc.jta.DataSource ': XAER
_nota:the XID is not valid
Oracle.jdbc.xa.OracleXAException
At Oracle.jdbc.xa.OracleXAResource.checkError (oraclexaresource.java:938)
At Oracle.jdbc.xa.client.OracleXAResource.start (oraclexaresource.java:244)
At Weblogic.jdbc.wrapper.VendorXAResource.start (vendorxaresource.java:50)
At Weblogic.jdbc.jta.DataSource.start (datasource.java:629)
At Weblogic.transaction.internal.XAServerResourceInfo.start (xaserverresourceinfo.java:1140)
At Weblogic.transaction.internal.XAServerResourceInfo.xaStart (xaserverresourceinfo.java:1072)
At Weblogic.transaction.internal.XAServerResourceInfo.enlist (xaserverresourceinfo.java:240)
At Weblogic.transaction.internal.ServerTransactionImpl.enlistResource
(servertransactionimpl.java:463)
At Weblogic.jdbc.jta.DataSource.enlist (datasource.java:1392)
At Weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist (datasource.java:1334)
At Weblogic.jdbc.jta.DataSource.getConnection (datasource.java:396)
At Weblogic.jdbc.jta.DataSource.connect (datasource.java:354)
At Weblogic.jdbc.common.internal.RmiDataSource.getConnection (rmidatasource.java:305)
At Org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection (datasourceutils.java:146)
At Org.springframework.jdbc.datasource.DataSourceUtils.getConnection (datasourceutils.java:100)
At Org.springframework.jdbc.datasource.DataSourceUtils.getConnection (datasourceutils.java:76)
At Org.springframework.orm.ibatis.SqlMapClientTemplate.execute (sqlmapclienttemplate.java:178)
At Org.springframework.orm.ibatis.SqlMapClientTemplate.insert (sqlmapclienttemplate.java:309)
At Com.ctzj.eai.cn.oss.CrmIbs.account.dao.ibatis.SqlMapIAManageAcctOssCIDAO.postAcct
(sqlmapiamanageacctosscidao.java:116)
At Com.ctzj.eai.cn.oss.CrmIbs.account.task.IAAcctDBInsertAcctTask.execute
(iaacctdbinsertaccttask.java:71)
At Com.ctzj.eai.cn.oss.CrmIbs.account.connector.IAAcctConnectorOut.handoverTask
(iaacctconnectorout.java:139)
At com.ctzj.eai.cn.oss.CrmIbs.account.connector.IAAcctConnectorOut.process
(iaacctconnectorout.java:191)
At com.ctzj.eai.cn.oss.CrmIbs.account.connector.IAAcctConnector.doAcctOutProcess
(iaacctconnector.java:187)
at Com.ctzj.eai.cn.oss.CrmIbs.account.connector.IAAcctConnector_xjttxc_ELOImpl.doAcctOutProcess
(Iaacctconnector_xjttxc_eloim
pl.java:207)
At Com.ctzj.eai.cn.oss.IAC3OssAdapter.onMessage (iac3ossadapter.java:86)
At Weblogic.ejb20.internal.MDListener.execute (mdlistener.java:370)
At Weblogic.ejb20.internal.MDListener.onMessage (mdlistener.java:262)
At Weblogic.jms.client.JMSSession.onMessage (jmssession.java:2678)
At Weblogic.jms.client.JMSSession.execute (jmssession.java:2598)
At Weblogic.kernel.ExecuteThread.execute (executethread.java:219)
At Weblogic.kernel.ExecuteThread.run (executethread.java:178)
At Weblogic.jdbc.jta.DataSource.enlist (datasource.java:1397)
At Weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist (datasource.java:1334)
At Weblogic.jdbc.jta.DataSource.getConnection (datasource.java:396)
At Weblogic.jdbc.jta.DataSource.connect (datasource.java:354)
At Weblogic.jdbc.common.internal.RmiDataSource.getConnection (rmidatasource.java:305)
At Org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection (datasourceutils.java:146)
At Org.springframework.jdbc.datasource.DataSourceUtils.getConnection (datasourceutils.java:100)
At Org.springframework.jdbc.datasource.DataSourceUtils.getConnection (datasourceutils.java:76)
At Org.springframework.orm.ibatis.SqlMapClientTemplate.execute (sqlmapclienttemplate.java:178)
At Org.springframework.orm.ibatis.SqlMapClientTemplate.insert (sqlmapclienttemplate.java:309)
At Com.ctzj.eai.cn.oss.CrmIbs.account.dao.ibatis.SqlMapIAManageAcctOssCIDAO.postAcct
(sqlmapiamanageacctosscidao.java:116)
At Com.ctzj.eai.cn.oss.CrmIbs.account.task.IAAcctDBInsertAcctTask.execute
(iaacctdbinsertaccttask.java:71)
At Com.ctzj.eai.cn.oss.CrmIbs.account.connector.IAAcctConnectorOut.handoverTask
(iaacctconnectorout.java:139)
At com.ctzj.eai.cn.oss.CrmIbs.account.connector.IAAcctConnectorOut.process
(iaacctconnectorout.java:191)
At com.ctzj.eai.cn.oss.CrmIbs.account.connector.IAAcctConnector.doAcctOutProcess
(iaacctconnector.java:187)
At com.ctzj.eai.cn.oss.CrmIbs.account.connector.IAAcctConnector_xjttxc_ELOImpl.doAcctOutProcess
(Iaacctconnector_xjttxc_eloim
pl.java:207)
at Com.ctzj.eai.cn.oss.IAC3OssAdapter.onMessage (iac3ossadapter.java:86)
at Weblogic.ejb20.internal.MDListener.execute (mdlistener.java:370)
at Weblogic.ejb20.internal.MDListener.onMessage (mdlistener.java:262)
at Weblogic.jms.client.JMSSession.onMessage (jmssession.java:2678)
at Weblogic.jms.client.JMSSession.execute (jmssession.java:2598)
at Weblogic.kernel.ExecuteThread.execute (executethread.java:219)
at Weblogic.kernel.ExecuteThread.run (executethread.java:178)
SubSystem = 4
Cause = Class Org.springframework.jdbc.CannotGetJdbcConnectionException
StackTrace = at Com.ctzj.eai.cn.oss.CrmIbs.account.dao.ibatis.SqlMapIAManageAcctOssCIDAO.postAcct
(Sqlmapiamanageacctosscidao.java:12
0)
At Com.ctzj.eai.cn.oss.CrmIbs.account.task.IAAcctDBInsertAcctTask.execute (iaacctdbinsertaccttask.java:71)
At Com.ctzj.eai.cn.oss.CrmIbs.account.connector.IAAcctConnectorOut.handoverTask
(iaacctconnectorout.java:139)
At Com.ctzj.eai.cn.oss.CrmIbs.account.connector.IAAcctConnectorOut.process (iaacctconnectorout.java:191)
At Com.ctzj.eai.cn.oss.CrmIbs.account.connector.IAAcctConnector.doAcctOutProcess (iaacctconnector.java:187)
At com.ctzj.eai.cn.oss.CrmIbs.account.connector.IAAcctConnector_xjttxc_ELOImpl.doAcctOutProcess
(Iaacctconnector_xjttxc_eloimpl.java:
207)
At Com.ctzj.eai.cn.oss.IAC3OssAdapter.onMessage (iac3ossadapter.java:86)
At Weblogic.ejb20.internal.MDListener.execute (mdlistener.java:370)
At Weblogic.ejb20.internal.MDListener.onMessage (mdlistener.java:262)
At Weblogic.jms.client.JMSSession.onMessage (jmssession.java:2678)
At Weblogic.jms.client.JMSSession.execute (jmssession.java:2598)
At Weblogic.kernel.ExecuteThread.execute (executethread.java:219)
At Weblogic.kernel.ExecuteThread.run (executethread.java:178)
Workaround, the 97_pool clone one for Sync97_pool is reconfigured as follows, the problem is resolved:
Two common faults of WebLogic: The solution of Xaer_nota xaexception problem