TCCL not set correctly during transaction recovery
lily.he Jun 15, 2014 9:30 PMjboss-7.2.0.Final
JMS RA named wljmsra.rar deployed on JBoss which will talk to Weblogic JMS. Got following exception in a transaction recovery test.
weblogic RMI code depends on TCCL to load class while during tx recovery. Transaction recovery has reached wljmsra.rar but the TCCL is still (ModuleClassLoader for Module "org.jboss.jts:main" from local module loader) by which classes in wljmsra.rar is invisible.
23:44:24,853 ERROR [stderr] (Periodic Recovery) java.lang.ClassNotFoundException: Failed to load class weblogic.jms.client.JMSXAConnection
23:44:24,853 ERROR [stderr] (Periodic Recovery) at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:274)
23:44:24,853 ERROR [stderr] (Periodic Recovery) at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:498)
23:44:24,854 ERROR [stderr] (Periodic Recovery) at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:286)
23:44:24,854 ERROR [stderr] (Periodic Recovery) at weblogic.jms.frontend.FEConnectionFactoryImpl_12130_WLStub.connectionCreate(Unknown Source)
23:44:24,854 ERROR [stderr] (Periodic Recovery) at weblogic.jms.client.JMSConnectionFactory.setupJMSConnection(JMSConnectionFactory.java:270)
23:44:24,855 ERROR [stderr] (Periodic Recovery) at weblogic.jms.client.JMSConnectionFactory.createConnectionInternal(JMSConnectionFactory.java:363)
23:44:24,855 ERROR [stderr] (Periodic Recovery) at weblogic.jms.client.JMSXAConnectionFactory.createXAConnection(JMSXAConnectionFactory.java:62)
23:44:24,855 ERROR [stderr] (Periodic Recovery) at weblogic.jms.ra.Provider.createXAConnection(Provider.java:1214)
23:44:24,856 ERROR [stderr] (Periodic Recovery) at weblogic.jms.ra.ConnectionSubpool.allocateNew(ConnectionSubpool.java:181)
23:44:24,856 ERROR [stderr] (Periodic Recovery) at weblogic.jms.ra.ManagedConnectionImpl.<init>(ManagedConnectionImpl.java:130)
23:44:24,856 ERROR [stderr] (Periodic Recovery) at weblogic.jms.ra.ManagedFactoryBase.createManagedConnection(ManagedFactoryBase.java:519)
23:44:24,857 ERROR [stderr] (Periodic Recovery) at weblogic.jms.ra.WLManagedXAQueueConnectionFactory.createManagedConnection(Unknown Source)
23:44:24,857 ERROR [stderr] (Periodic Recovery) at org.jboss.jca.core.tx.jbossts.XAResourceRecoveryImpl.open(XAResourceRecoveryImpl.java:329)
23:44:24,858 ERROR [stderr] (Periodic Recovery) at org.jboss.jca.core.tx.jbossts.XAResourceRecoveryImpl.getXAResources(XAResourceRecoveryImpl.java:157)
23:44:24,858 ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.internal.jbossatx.jta.XAResourceRecoveryHelperWrapper.getXAResources(XAResourceRecoveryHelperWrapper.java:52)
23:44:24,858 ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.resourceInitiatedRecoveryForRecoveryHelpers(XARecoveryModule.java:462)
23:44:24,859 ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.bottomUpRecovery(XARecoveryModule.java:385)
23:44:24,859 ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.getNewXAResource(XARecoveryModule.java:196)
23:44:24,860 ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.getNewXAResource(XARecoveryModule.java:232)
23:44:24,860 ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.getNewXAResource(XAResourceRecord.java:1167)
23:44:24,861 ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.restore_state(XAResourceRecord.java:945)
23:44:24,861 ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.arjuna.coordinator.BasicAction.restore_state(BasicAction.java:1105)
23:44:24,861 ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.arjuna.coordinator.BasicAction.activate(BasicAction.java:480)
23:44:24,862 ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.arjuna.coordinator.BasicAction.activate(BasicAction.java:443)
23:44:24,862 ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.arjuna.recovery.RecoverAtomicAction.<init>(RecoverAtomicAction.java:50)
23:44:24,862 ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.doRecoverTransaction(AtomicActionRecoveryModule.java:149)
23:44:24,863 ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.processTransactionsStatus(AtomicActionRecoveryModule.java:251)
23:44:24,863 ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.periodicWorkSecondPass(AtomicActionRecoveryModule.java:109)
23:44:24,864 ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:789)
23:44:24,864 ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:371)