All Downloads are FREE. Search and download functionalities are using the official Maven repository.

oracle.toplink.essentials.sessions.ExternalTransactionController Maven / Gradle / Ivy

The newest version!
/*
 * The contents of this file are subject to the terms 
 * of the Common Development and Distribution License 
 * (the "License").  You may not use this file except 
 * in compliance with the License.
 * 
 * You can obtain a copy of the license at 
 * glassfish/bootstrap/legal/CDDLv1.0.txt or 
 * https://glassfish.dev.java.net/public/CDDLv1.0.html. 
 * See the License for the specific language governing 
 * permissions and limitations under the License.
 * 
 * When distributing Covered Code, include this CDDL 
 * HEADER in each file and include the License file at 
 * glassfish/bootstrap/legal/CDDLv1.0.txt.  If applicable, 
 * add the following below this CDDL HEADER, with the 
 * fields enclosed by brackets "[]" replaced with your 
 * own identifying information: Portions Copyright [yyyy] 
 * [name of copyright owner]
 */
// Copyright (c) 1998, 2005, Oracle. All rights reserved.  
package oracle.toplink.essentials.sessions;

import oracle.toplink.essentials.internal.sessions.AbstractSession;
import oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl;
import oracle.toplink.essentials.exceptions.*;

/**
 * 

* Purpose: Interface for external transaction management. *

* Description: This interface represents a delegate to be used for external * transaction management. The implementing class may interface to an OMG OTS service, * a Java JTA service or a manufacturer's specific implementation of these services. *

* Responsibilities: *

    *
  • Define the API for UnitOfWork to add a listener to the externally controlled transaction. *
*/ public interface ExternalTransactionController { /** * INTERNAL: * Begin a transaction externally. * This allows for TopLink to force a JTS transaction. */ void beginTransaction(AbstractSession session); /** * INTERNAL: * Commit a transaction externally. * This allows for TopLink to force a JTS transaction. */ void commitTransaction(AbstractSession session); /** * INTERNAL: * Return the active unit of work for the current active external transaction. */ UnitOfWorkImpl getActiveUnitOfWork(); /** * INTERNAL: * Return the manager's session. */ AbstractSession getSession(); /** * INTERNAL: * Register a listener on the unit of work. * The listener will callback to the unit of work to tell it to commit and merge. */ void registerSynchronizationListener(UnitOfWorkImpl uow, AbstractSession session) throws DatabaseException; /** * INTERNAL: * Rollback a transaction externally. * This allows for TopLink to force a JTS transaction. */ void rollbackTransaction(AbstractSession session); /** * INTERNAL: * Marks the external transaction for rollback only. */ void markTransactionForRollback(); /** * INTERNAL: * Set the manager's session. */ void setSession(AbstractSession session); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy