Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source
   * Copyright 2006, Red Hat Middleware LLC, and individual contributors 
   * as indicated by the @author tags. 
   * See the copyright.txt in the distribution for a
   * full listing of individual contributors. 
   * This copyrighted material is made available to anyone wishing to use,
   * modify, copy, or redistribute it subject to the terms and conditions
   * of the GNU Lesser General Public License, v. 2.1.
  * This program is distributed in the hope that it will be useful, but WITHOUT A 
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
  * MA  02110-1301, USA.
  * 
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
 /*
  * Copyright (C) 2005,
  *
  * Arjuna Technologies Ltd,
  * Newcastle upon Tyne,
  * Tyne and Wear,
  * UK.
  *
  * $Id: TransactionImporterImple.java 2342 2006-03-30 13:06:17Z  $
  */
 
 package com.arjuna.ats.internal.jta.transaction.arjunacore.jca;
 
 import java.util.Set;
 
 import  javax.transaction.SystemException;
 
 
 public class TransactionImporterImple implements TransactionImporter
 {

Create a subordinate transaction associated with the global transaction inflow. No timeout is associated with the transaction.

Parameters:
xid the global transaction.
Returns:
the subordinate transaction.
Throws:
javax.transaction.xa.XAException thrown if there are any errors.
 
 
 			throws XAException
 	{
 		return importTransaction(xid, 0);
 	}

Create a subordinate transaction associated with the global transaction inflow and having a specified timeout.

Parameters:
xid the global transaction.
timeout the timeout associated with the global transaction.
Returns:
the subordinate transaction.
Throws:
javax.transaction.xa.XAException thrown if there are any errors.
 
 
 	public SubordinateTransaction importTransaction(Xid xidint timeout)
 			throws XAException
 	{
 		if (xid == null)
 			throw new IllegalArgumentException();
 
 		/*
 		 * Check to see if we haven't already imported this thing.
 		 */
 
 
 		if (imported == null)
 		{
 			imported = new TransactionImple(timeoutxid);
 			
 			.put(new SubordinateXidImple(imported.baseXid()), imported);
		}
		return imported;
	}

Used to recover an imported transaction.

Parameters:
actId the state to recover.
Returns:
the recovered transaction object.
Throws:
javax.transaction.xa.XAException
	{
		if (actId == null)
		TransactionImple recovered = new TransactionImple(actId);
		if (recovered.baseXid() == null)
		    throw new IllegalArgumentException();
		/*
		 * Is the transaction already in the list? This may be the case because
		 * we scan the object store periodically and may get Uids to recover for
		 * transactions that are progressing normally, i.e., do not need
		 * recovery. In which case, we need to ignore them.
		 */
		if (tx == null)
		{
			Xid baseXid = recovered.baseXid();
			.put(new SubordinateXidImple(baseXid), recovered);
			recovered.recordTransaction();
			return recovered;
		}
		else
		{
			return tx;
		}
	}

Get the subordinate (imported) transaction associated with the global transaction.

Parameters:
xid the global transaction.
Returns:
the subordinate transaction or null if there is none.
Throws:
javax.transaction.xa.XAException thrown if there are any errors.
	{
		if (xid == null)
		if (tx == null)
			return null;
		// https://issues.jboss.org/browse/JBTM-927
		try {
			if (tx.getStatus() == javax.transaction.Status.STATUS_ROLLEDBACK) {
			}
catch (SystemException e) {
			e.printStackTrace();
		}
		if (!tx.activated())
		{
			tx.recover();
			return tx;
		}
		else
			return tx;
	}

Remove the subordinate (imported) transaction.

Parameters:
xid the global transaction.
Throws:
javax.transaction.xa.XAException thrown if there are any errors.
	public void removeImportedTransaction(Xid xidthrows XAException
	{
		if (xid == null)
	}
	public Set<XidgetInflightXids(String parentNodeName) {
		Set<XidtoReturn = new HashSet<Xid>();
		while (iterator.hasNext()) {
			TransactionImple next = iterator.next();
			if (next.getParentNodeName().equals(parentNodeName)) {
				toReturn.add(next.baseXid());
			}
		}
		return toReturn;
	}
New to GrepCode? Check out our FAQ X