RAD 8 Исключение - PullRequest
       26

RAD 8 Исключение

3 голосов
/ 14 июня 2011

Пожалуйста, помогите мне понять возможные причины этого исключения или, что еще лучше, как его исправить?

Трассировка стека исключений выглядит следующим образом:

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.

Ответы [ 3 ]

3 голосов
/ 06 июля 2011

Может ли процесс Oracle или Java был остановлен без завершения транзакции? что он пытается восстановить, но не может, см. IBM - WebSphere Application Server не удается запустить с XAException: XAER_RMERR (xa_recover)

* фрагмент 1006 *

Это означает, что диспетчер транзакций не смог выполнить операцию восстановления XA, и Oracle вернула ошибку XAER_RMERR, чтобы указать, что WebSphere не закрыл свое соединение с Oracle должным образом. Когда WebSphere Application Server пытается восстановить соединение, Oracle должен откатить любые транзакции, которые выполнялись, но пользователь Oracle, который WebSphere использует для входа в базу данных (в данном примере Скотт), не может выполнить восстановление.

Решение состоит в том, чтобы дать пользователю Oracle разрешение на восстановление, особенно для доступа к внутренним таблицам Oracle, используемым для управления восстановлением.

Для этого:

  • Войдите в SQL Plus как SYSOPER или SYSDBA. Выполните следующую команду:

grant select on DBA_PENDING_TRANSACTIONS to PUBLIC

Примечание: Если вы не хотите предоставлять это разрешение всем пользователям, укажите только пользователя, указанного в сообщении об ошибке (в данном примере, Скотт).

  • Перезагрузите базу данных. Перезагрузите
  • Сервер WebSphere.
1 голос
/ 19 апреля 2012

Просто удалите два файла журнала по этому пути:

[ваш_проект] /. Метаданные / .plugins / com.ibm.etools.server.core / tmp0 / tranlog / server1 /action

Там есть две папки: partnerlog и tranlog.Внутри есть два файла журнала, log1 и log2.Удалить их обоих.Затем перезапустите свою сеть.

0 голосов
/ 03 мая 2013

Решение, а также обходные пути, упомянутые выше для javax.transaction.xa.XAException, описаны в этой статье службы поддержки IBM: http://www -01.ibm.com / поддержка / docview.wss? UID = swg21196663

...