1 /* 2 * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com 3 * The software in this package is published under the terms of the CPAL v1.0 4 * license, a copy of which has been included with this distribution in the 5 * LICENSE.txt file. 6 */ 7 package org.mule.api.transaction; 8 9 import org.mule.api.MuleContext; 10 11 12 /** 13 * <code>ExternalTransactionAwareTransactionFactory</code> creates a transaction, possibly representing a transaction 14 * started outside Mule. 15 * 16 */ 17 public interface ExternalTransactionAwareTransactionFactory extends TransactionFactory 18 { 19 /** 20 * Create and begins a new transaction 21 * 22 * @return a new Transaction representing an existing external transaction 23 * @throws org.mule.api.transaction.TransactionException if the transaction cannot be created or begun 24 * @param muleContext 25 */ 26 Transaction joinExternalTransaction(MuleContext muleContext) throws TransactionException; 27 }