开发者

RAD 8 Exception

Please help me understand the possible causes of this exception, or better still how to fix it?

The exception stack trace is as follows:

com.ibm.ws.Transaction.XAResourceNotAvailableException: java.lang.Exception: Parameter xaResInfo lacks an RA wrapper and an RA wrapper could not be resolved using RA key.
    at com.ibm.ejs.j2c.J2CXAResourceFactory.getXAResource(J2CXAResourceFactory.java:399)
    at com.ibm.ws.Transaction.JTA.XARecoveryData.getXARminst(XARecoveryData.java:433)
    at com.ibm.ws.Transaction.JTA.XARecoveryData.recover(XARecoveryData.java:559)
    at com.ibm.tx.jta.PartnerLogTable.recover(PartnerLogTable.java:389)
    at com.ibm.tx.jta.RecoveryManager.resync(RecoveryManager.java:1523)
    at com.ibm.ws.tx.jta.RecoveryManager.performResync(RecoveryManager.java:127)
    at com.ibm.tx.jta.RecoveryManager.run(RecoveryManager.java:2200)
    at java.lang.Thread.run(Thread.java:736)
Caused by: java.lang.Exception: Parameter xaResInfo lacks an RA wrapper and an RA wrapper could not be resolved using RA key.
    at com.ibm.ejs.j2c.J2CXAResourceFactory$1.run(J2CXAResourceFactory.java:237)
    at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
    at com.ibm.ejs.j2c.J2CXAResourceFactory.getXAResource(J2CXAResourceFactory.java:185)
    ... 7 more

[6/14/11 15:01:02:685 EDT] 00000009 WSRdbDataSour W   DSRA8023W: "" is not a valid option for oracleRACXARecoveryDelay. oracleRACXARecoveryDelay will default to 0.
[6/14/11 15:01:05:185 EDT] 00000009 InternalGener I   DSRA8203I: Database product name : Oracle
[6/14/11 15:01:05:185 EDT] 00000009 InternalGener I   DSRA8204I: Database product version : Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
[6/14/11 15:01:05:185 EDT] 00000009 InternalGener I   DSRA8205I: JDBC driver name  : Oracle JDBC driver
[6/14/11 15:01:05:185 EDT] 00000009 InternalGener I   DSRA8206I: JDBC driver version  : 11.2.0.2.0
[6/14/11 15:01:05:185 EDT] 00000009 InternalOracl I   DSRA8212I: DataStoreHelper name is: com.ibm.websphere.rsadapter.Oracle10gDataStoreHelper.
[6/14/11 15:01:05:185 EDT] 00000009 InternalOracl W   DSRA7041W: You must use the Oracle11gDataStoreHelper class or a subclass of that data store helper when you configure a data source to use this JDBC driver: Oracle 11g JDBC driver
[6/14/11 15:01:05:185 EDT] 00000009 WSRdbDataSour I   DSRA8208I: JDBC driver type  : ""
[6/14/11 15:01:05:185 EDT] 00000009 WSRdbXaResour E   DSRA0304E:  XAException occurred. XAException contents and details are: The cause is               : null.
[6/14/11 15:01:05:185 EDT] 00000009 WSRdbXaResour E   DSRA0302E:  XAException occurred.  Error code is: XAER_RMERR (-3).  Exception is: <null>
[6/14/11 15:01:05:185 EDT] 00000009 XARminst      E   WTRN0037W: The transaction service encountered an error on an xa_recover operation. The resource was com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl@19b619b6. The error code was XAER_RMERR. The exception stack trace follows: javax.transaction.xa.XAException
    at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:709)
    at com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl.recover(WSRdbXaResourceImpl.java:1086)
    at com.ibm.ws.Transaction.JTA.XARminst.recover(XARminst.java:141)
    at com.ibm.ws.Transaction.JTA.XARecoveryData.recover(XARecoveryData.java:602)
    at com.ibm.tx.jta.PartnerLogTable.recover(PartnerLogTable.java:389)
    at com.ibm.tx.jta.RecoveryManager.resync(RecoveryManager.java:1523)
    at com.ibm.ws.tx.jta.RecoveryManager.performResync(RecoveryManager.java:127)
    at com.ibm.tx.jta.RecoveryManager.run(RecoveryManager.java:2200)
    at java.lang.Thread.run(Thread.java:736)

[6/14/11 15:01:05:185 EDT] 00000009 J2CXAResource W   J2CA0061W: Error creating XA Connection and Resource java.lang.Exception: Parameter xaResInfo lacks an RA wrapper and an RA wrapper could not be resolved using RA key.
    at com.ibm.ejs.j2c.J2CXAResourceFactory$1.run(J2CXAResourceFactory.java:237)
    at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
    at com.ibm.ejs.j2c.J2CXAResourceFactory.getXAResource(J2CXAResourceFactory.java:185)
    at com.ibm.ws.Transaction.JTA.XARecoveryData.getXARminst(XARecoveryData.java:433)
    at com.ibm.ws.Transaction.JTA.XARecoveryData.recover(XARecoveryData.java:559)
    at com.ibm.tx.jta.PartnerLogTable.recover(PartnerLogTable.java:389)
    at com.ibm.tx.jta.RecoveryManager.resync(RecoveryManager.java:1523)
    at com.ibm.ws.tx.jta.RecoveryManager.performResync(RecoveryManager.java:127)
    at com.ibm.tx.jta.RecoveryManager.run(RecoveryManager.java:2200)
    at java.lang.Thread.run(Thread.java:736)

[6/14/11 15:01:05:185 EDT] 00000009 XARecoveryDat W   WTRN0005W: The XAResource for a transaction participant could not be recreated and transaction recovery may not be able to complete properly. The resource was J2CXAResourceInfo : 
cfName = JMS$null$JMSManagedConnection@0
configProps = [Deployed Resource Adapter Properties]
    TransactionResourceRegistration      java.lang.String    dynamic
    InactiveConnectionSupport    java.lang.Boolean   true
    mcfClassname     java.lang.String    com.ibm.ejs.jms.GenericJMSManagedQueueConnectionFactory
    mcfUserName      java.lang.String    fcuser
    mcfPassword      java.lang.String    {xor}Kiw6LTk8
    mcfConnectorName     java.lang.String    JMS$null
    mcfProviderURL   java.lang.String    jnp://localhost:1099
    mcfContextFactoryClassname   java.lang.String    org.jnp.interfaces.NamingContextFactory
    mcfJndiPath      java.lang.String    XAConnectionFactory

dd = [Resource Adapter DD]
    ManagedConnectionFactory Class Name: com.ibm.ejs.jms.JMSManagedQueueSessionFactory
    Connection Factory Interface Name:   NO_CF_INTERFACE_SPECIFIED
    Transaction Support:                 2
    Reauthentication Support:            false

dsProps = {java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
mcfProps = null
mmProps = null
mbeanProps = null
cmConfig = 
[Resource-ref CMConfigData key items]

    res-sharing-scope:        1 (UNSHAREABLE)
    res-isolation-level:      0 (TRANSACTION_NONE)
    res-auth:                 1 (APPLICATION)
    isCMP1_x:                 false (not CMP1.x)
    isJMS:                    true (JMS)
    commitPriority            0
    loginConfigurationName:   null
    loginConfigProperties:    null
    Resource ref name:        not set

[Resource-ref non-key items]

    J2EE Name:                not set
    isCMP:                    false (not set)
    isWar:                    false (looked-up component was not a War module)

recoveryClasspath = null
raKey = null
. The exception stack trace follows: com.ibm.ws.Transaction.XAResourceNotAvailableException: java.lang.Exception: Parameter xaResInfo lacks an RA wrapper and an RA wrapper could not be resolved using RA key.
    at com.ibm.ejs.j2c.J2CXAResourceFactory.getXAResource(J2CXAResourceFactory.java:399)
    at com.ibm.ws.Transaction.JTA.XARecoveryData.getXARminst(XARecoveryData.java:433)
    at com.ibm.ws.Transaction.JTA.XARecoveryData.recover(XARecoveryData.java:559)
    at com.ibm.tx.jta.PartnerLogTable.recover(PartnerLogTable.java:389)
    at com.ibm.tx.jta.RecoveryManager.resync(RecoveryManager.java:1523)
    at com.ibm.ws.tx.jta.RecoveryManager.performResync(RecoveryManager.java:127)
    at com.ibm.tx.jta.RecoveryManager.run(RecoveryManager.java:2200)
    at java.lang.Thread.run(Thread.java:736)
Caused by: java.lang.Exception: Parameter xaResInfo开发者_运维技巧 lacks an RA wrapper and an RA wrapper could not be resolved using RA key.
    at com.ibm.ejs.j2c.J2CXAResourceFactory$1.run(J2CXAResourceFactory.java:237)
    at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
    at com.ibm.ejs.j2c.J2CXAResourceFactory.getXAResource(J2CXAResourceFactory.java:185)
    ... 7 more

[6/14/11 15:01:05:201 EDT] 00000009 WSRdbDataSour W   DSRA8023W: "" is not a valid option for oracleRACXARecoveryDelay. oracleRACXARecoveryDelay will default to 0.
[6/14/11 15:01:07:701 EDT] 00000009 InternalGener I   DSRA8203I: Database product name : Oracle
[6/14/11 15:01:07:701 EDT] 00000009 InternalGener I   DSRA8204I: Database product version : Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
[6/14/11 15:01:07:701 EDT] 00000009 InternalGener I   DSRA8205I: JDBC driver name  : Oracle JDBC driver
[6/14/11 15:01:07:701 EDT] 00000009 InternalGener I   DSRA8206I: JDBC driver version  : 11.2.0.2.0
[6/14/11 15:01:07:701 EDT] 00000009 InternalOracl I   DSRA8212I: DataStoreHelper name is: com.ibm.websphere.rsadapter.Oracle10gDataStoreHelper.
[6/14/11 15:01:07:701 EDT] 00000009 InternalOracl W   DSRA7041W: You must use the Oracle11gDataStoreHelper class or a subclass of that data store helper when you configure a data source to use this JDBC driver: Oracle 11g JDBC driver
[6/14/11 15:01:07:701 EDT] 00000009 WSRdbDataSour I   DSRA8208I: JDBC driver type  : ""
[6/14/11 15:01:07:701 EDT] 00000009 WSRdbXaResour E   DSRA0304E:  XAException occurred. XAException contents and details are: The cause is               : null.
[6/14/11 15:01:07:701 EDT] 00000009 WSRdbXaResour E   DSRA0302E:  XAException occurred.  Error code is: XAER_RMERR (-3).  Exception is: <null>
[6/14/11 15:01:07:701 EDT] 00000009 XARminst      E   WTRN0037W: The transaction service encountered an error on an xa_recover operation. The resource was com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl@15411541. The error code was XAER_RMERR. The exception stack trace follows: javax.transaction.xa.XAException
    at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:709)
    at com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl.recover(WSRdbXaResourceImpl.java:1086)
    at com.ibm.ws.Transaction.JTA.XARminst.recover(XARminst.java:141)
    at com.ibm.ws.Transaction.JTA.XARecoveryData.recover(XARecoveryData.java:602)
    at com.ibm.tx.jta.PartnerLogTable.recover(PartnerLogTable.java:389)
    at com.ibm.tx.jta.RecoveryManager.resync(RecoveryManager.java:1523)
    at com.ibm.ws.tx.jta.RecoveryManager.performResync(RecoveryManager.java:127)
    at com.ibm.tx.jta.RecoveryManager.run(RecoveryManager.java:2200)
    at java.lang.Thread.run(Thread.java:736)

[6/14/11 15:01:07:716 EDT] 00000009 J2CXAResource W   J2CA0061W: Error creating XA Connection and Resource java.lang.Exception: Parameter xaResInfo lacks an RA wrapper and an RA wrapper could not be resolved using RA key.
    at com.ibm.ejs.j2c.J2CXAResourceFactory$1.run(J2CXAResourceFactory.java:237)
    at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
    at com.ibm.ejs.j2c.J2CXAResourceFactory.getXAResource(J2CXAResourceFactory.java:185)
    at com.ibm.ws.Transaction.JTA.XARecoveryData.getXARminst(XARecoveryData.java:433)
    at com.ibm.ws.Transaction.JTA.XARecoveryData.recover(XARecoveryData.java:559)
    at com.ibm.tx.jta.PartnerLogTable.recover(PartnerLogTable.java:389)
    at com.ibm.tx.jta.RecoveryManager.resync(RecoveryManager.java:1523)
    at com.ibm.ws.tx.jta.RecoveryManager.performResync(RecoveryManager.java:127)
    at com.ibm.tx.jta.RecoveryManager.run(RecoveryManager.java:2200)
    at java.lang.Thread.run(Thread.java:736)

[6/14/11 15:01:07:716 EDT] 00000009 XARecoveryDat W   WTRN0005W: The XAResource for a transaction participant could not be recreated and transaction recovery may not be able to complete properly. The resource was J2CXAResourceInfo : 
cfName = JMS$null$JMSManagedConnection@0
configProps = [Deployed Resource Adapter Properties]
    TransactionResourceRegistration      java.lang.String    dynamic
    InactiveConnectionSupport    java.lang.Boolean   true
    mcfClassname     java.lang.String    com.ibm.ejs.jms.GenericJMSManagedQueueConnectionFactory
    mcfUserName      java.lang.String    fcuser
    mcfPassword      java.lang.String    {xor}Kiw6LTk8
    mcfConnectorName     java.lang.String    JMS$null
    mcfProviderURL   java.lang.String    jnp://localhost:1099
    mcfContextFactoryClassname   java.lang.String    org.jnp.interfaces.NamingContextFactory
    mcfJndiPath      java.lang.String    XAConnectionFactory

dd = [Resource Adapter DD]
    ManagedConnectionFactory Class Name: com.ibm.ejs.jms.JMSManagedQueueSessionFactory
    Connection Factory Interface Name:   NO_CF_INTERFACE_SPECIFIED
    Transaction Support:                 2
    Reauthentication Support:            false

dsProps = {java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
mcfProps = null
mmProps = null
mbeanProps = null
cmConfig = 
[Resource-ref CMConfigData key items]

    res-sharing-scope:        1 (UNSHAREABLE)
    res-isolation-level:      0 (TRANSACTION_NONE)
    res-auth:                 1 (APPLICATION)
    isCMP1_x:                 false (not CMP1.x)
    isJMS:                    true (JMS)
    commitPriority            0
    loginConfigurationName:   null
    loginConfigProperties:    null
    Resource ref name:        not set

[Resource-ref non-key items]

    J2EE Name:                not set
    isCMP:                    false (not set)
    isWar:                    false (looked-up component was not a War module)

recoveryClasspath = null
raKey = null
. The exception stack trace follows: com.ibm.ws.Transaction.XAResourceNotAvailableException: java.lang.Exception: Parameter xaResInfo lacks an RA wrapper and an RA wrapper could not be resolved using RA key.
    at com.ibm.ejs.j2c.J2CXAResourceFactory.getXAResource(J2CXAResourceFactory.java:399)
    at com.ibm.ws.Transaction.JTA.XARecoveryData.getXARminst(XARecoveryData.java:433)
    at com.ibm.ws.Transaction.JTA.XARecoveryData.recover(XARecoveryData.java:559)
    at com.ibm.tx.jta.PartnerLogTable.recover(PartnerLogTable.java:389)
    at com.ibm.tx.jta.RecoveryManager.resync(RecoveryManager.java:1523)
    at com.ibm.ws.tx.jta.RecoveryManager.performResync(RecoveryManager.java:127)
    at com.ibm.tx.jta.RecoveryManager.run(RecoveryManager.java:2200)
    at java.lang.Thread.run(Thread.java:736)
Caused by: java.lang.Exception: Parameter xaResInfo lacks an RA wrapper and an RA wrapper could not be resolved using RA key.
    at com.ibm.ejs.j2c.J2CXAResourceFactory$1.run(J2CXAResourceFactory.java:237)
    at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
    at com.ibm.ejs.j2c.J2CXAResourceFactory.getXAResource(J2CXAResourceFactory.java:185)
    ... 7 more

[6/14/11 15:01:07:716 EDT] 00000009 WSRdbDataSour W   DSRA8023W: "" is not a valid option for oracleRACXARecoveryDelay. oracleRACXARecoveryDelay will default to 0.


Could it be your Oracle or Java process was shutdown without completing a transaction? which is it trying to recover but can't, see IBM - WebSphere Application Server fails to start with XAException: XAER_RMERR (xa_recover)

snippet

This means that the transaction manager could not perform an XA recover operation, and Oracle returned an XAER_RMERR error to indicate that WebSphere did not close its connection with Oracle properly. When WebSphere Application Server attempts to reestablish the connection, Oracle must rollback any transactions that were in progress, but the Oracle user that WebSphere uses to log into the database (scott, in this example) cannot perform the recovery.

The solution is to give the Oracle user permission to perform the recovery, specifically to access the internal Oracle tables used to manage recovery.

To do this:

  • Login in to SQL Plus as SYSOPER or SYSDBA. Run the following command:

grant select on DBA_PENDING_TRANSACTIONS to PUBLIC

Note: If you don't want to grant this permission to all users, specify only the user listed in the error (in this example, scott).

  • Restart the database. Restart the
  • WebSphere server.


Just delete the two log files from this path:

[your_project]/.metadata/.plugins/com.ibm.etools.server.core/tmp0/tranlog/server1/transaction

There are two folders there: partnerlog and tranlog. Inside, there are two log files, log1 and log2. Delete them both. Then restart your websphere.


A solution as well as the work around mentioned above for the javax.transaction.xa.XAException are described in this article from IBM's product support: http://www-01.ibm.com/support/docview.wss?uid=swg21196663

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜