1 /* 2 * $Id: TransactionFactory.java 10489 2008-01-23 17:53:38Z dfeist $ 3 * -------------------------------------------------------------------------------------- 4 * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com 5 * 6 * The software in this package is published under the terms of the CPAL v1.0 7 * license, a copy of which has been included with this distribution in the 8 * LICENSE.txt file. 9 */ 10 11 package org.mule.api.transaction; 12 13 import org.mule.api.MuleContext; 14 15 16 /** 17 * <code>TransactionFactory</code> creates a transaction. 18 * 19 */ 20 public interface TransactionFactory 21 { 22 /** 23 * Create and begins a new transaction 24 * 25 * @return a new Transaction 26 * @throws TransactionException if the transaction cannot be created or begun 27 * @param muleContext 28 */ 29 Transaction beginTransaction(MuleContext muleContext) throws TransactionException; 30 31 /** 32 * Determines whether this transaction factory creates transactions that are 33 * really transacted or if they are being used to simulate batch actions, such as 34 * using Jms Client Acknowledge. 35 * 36 * @return 37 */ 38 boolean isTransacted(); 39 }