Two common faults of WebLogic: The solution of Xaer_nota xaexception problem

Source: Internet
Author: User

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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.