@Override public void commit(final Xid xid, final boolean b) throws XAException { delegate.commit(xid, b); }
@Override public void start(final Xid xid, final int i) throws XAException { delegate.start(xid, i); } }
Enumeration el = _resources.keys(); while (el.hasMoreElements()) XAResource x = (XAResource) el.nextElement(); if (x.isSameRM(xaRes)) return (TxInfo) _resources.get(x); el = _duplicateResources.keys(); while (el.hasMoreElements()) XAResource x = (XAResource) el.nextElement(); if (x.isSameRM(xaRes)) return (TxInfo) _duplicateResources.get(x); jtaLogger.i18NLogger.warn_transaction_arjunacore_newtmerror("TransactionImple.isNewRM", XAHelper.printXAErrorCode(ex), ex); throw new com.arjuna.ats.arjuna.exceptions.FatalError(ex.toString(), ex); jtaLogger.i18NLogger.warn_transaction_arjunacore_newtmerror("TransactionImple.isNewRM", "-", e);
trans = xares.recover(XAResource.TMSTARTRSCAN); jtaLogger.i18NLogger.warn_recovery_xarecovery1(_logName+".xaRecovery", XAHelper.printXAErrorCode(e), e); xares.recover(XAResource.TMENDRSCAN); _xidScans = new Hashtable<XAResource,RecoveryXids>(); else xidsToRecover = _xidScans.get(xares); java.util.Enumeration<RecoveryXids> elements = _xidScans.elements(); boolean found = false; while (elements.hasMoreElements()) xidsToRecover = elements.nextElement();
/** * Reduce the set of XAResource objects into a unique set such that there * is at most one XAResource object per RM. */ private static Enumeration getUniqueRMSet(Enumeration xaResourceList){ Vector uniqueRMList = new Vector(); while (xaResourceList.hasMoreElements()) { XAResource xaRes = (XAResource) xaResourceList.nextElement(); int size = uniqueRMList.size(); boolean match = false; for (int i = 0; i < size; i++) { // compare and eliminate duplicates XAResource uniqueXaRes = (XAResource) uniqueRMList.elementAt(i); try { if (xaRes.isSameRM(uniqueXaRes)) { match = true; break; } } catch (XAException xe) {} } if (!match) { uniqueRMList.add(xaRes); } } return uniqueRMList.elements(); }
Enumeration el = _resources.keys(); while (el.hasMoreElements()) XAResource x = (XAResource) el.nextElement(); if (x.isSameRM(xaRes)) TxInfo info = (TxInfo) _resources.get(x); el = _duplicateResources.keys(); while (el.hasMoreElements()) XAResource x = (XAResource) el.nextElement(); if (x.isSameRM(xaRes)) TxInfo info = (TxInfo) _resources.get(x); jtaLogger.i18NLogger.warn_transaction_arjunacore_threadexception(e);
public void start(Xid xid, int flags) throws XAException { dataSource.log.debug("start" + ":" + xid.getFormatId() + ":" + xid.getGlobalTransactionId() + ":" + xid.getBranchQualifier() + ":" + flags); doStart(xid, flags); xarsrc = new OracleXAResource(curCon.con); OracleXid oXid = getOracleXid(xid); xarsrc.start(oXid, flags); txctxs.put(xid, oXid.getTxContext()); curCon = null; con = null; }
public int topLevelPrepare() jtaLogger.logger.trace("XAResourceRecord.topLevelPrepare for " + this + ", record id=" + order()); jtaLogger.i18NLogger.warn_resources_arjunacore_preparenulltx("XAResourceRecord.prepare"); removeConnection(); if (endAssociation()) _theXAResource.end(_tranID, XAResource.TMSUCCESS); if (_theXAResource.prepare(_tranID) == XAResource.XA_RDONLY) addDeferredThrowable(e1); jtaLogger.i18NLogger.warn_resources_arjunacore_preparefailed(XAHelper.xidToString(_tranID), _theXAResource.toString(), XAHelper.printXAErrorCode(e1), e1); jtaLogger.i18NLogger.warn_resources_arjunacore_preparefailed(XAHelper.xidToString(_tranID), _theXAResource.toString(), "-", e2);
/** * {@inheritDoc} */ @Override public void rollback() throws ResourceException { try { resource.end(xid, XAResource.TMFAIL); resource.rollback(xid); } catch (XAException e) { throw new ResourceException(e.getMessage()); } }
entry.getKey().end(entry.getValue(), XAResource.TMSUCCESS); } catch (XAException e) { throw (SystemException) new SystemException(XAException.XAER_RMERR).initCause(e); int prepareStatus = entry.getKey().prepare(entry.getValue()); if (prepareStatus != XAResource.XA_RDONLY) { preparedResources.add(entry.getKey()); try { if (preparedResources.contains(entry.getKey())) { entry.getKey().commit(entry.getValue(), false);
/** * Commit the one phase resource. * @return TwoPhaseOutcome.FINISH_OK or TwoPhaseOutcome.FINISH_ERROR */ public int rollback() { try { xaResource.rollback(xid) ; return TwoPhaseOutcome.FINISH_OK ; } catch (final XAException xae) { jtaLogger.i18NLogger.warn_resources_arjunacore_XAOnePhaseResource_rollbackexception(XAHelper.xidToString(xid), xae); } catch (final Throwable ex) { if (jtaLogger.logger.isTraceEnabled()) { jtaLogger.logger.trace("XAOnePhaseResource.rollback(" + xid + ") " + ex.getMessage()); } } return TwoPhaseOutcome.FINISH_ERROR ; }
xaRes.start(xid, XAResource.TMNOFLAGS); int delay = (int) ((expirationTime - System.currentTimeMillis()) / 1000); try { if (!DISABLE_TRANSACTION_TIMEOUT_SETTING) { xaRes.setTransactionTimeout(delay); xar = (XAResource) iterator.next(); if (!xar.isSameRM(xaRes)) { LogWriter writer = TransactionUtils.getLogWriter(); if (writer.severeEnabled()) "GlobalTransaction::enlistResource::Only one Resouce Manager supported"); } else { xaRes.start(xid, XAResource.TMJOIN); resourceMap.put(xaRes, Boolean.TRUE);
/** * @see org.apache.jackrabbit.webdav.jcr.transaction.TxLockManagerImpl.Transaction#start(TransactionResource) */ public void start(TransactionResource resource) throws DavException { XAResource xaRes = getXAResource(resource); try { xaRes.setTransactionTimeout((int) getLock().getTimeout() / 1000); xaRes.start(xid, XAResource.TMNOFLAGS); } catch (XAException e) { throw new DavException(DavServletResponse.SC_FORBIDDEN, e.getMessage()); } }
@Override public Xid[] recover(final int i) throws XAException { return delegate.recover(i); }