javax.resource.cci

## Interface LocalTransaction

-     public interface LocalTransaction

  The LocalTransaction defines a transaction demarcation interface for resource manager local transactions. Note that this interface is used for application level local transaction demarcation. The system contract level LocalTransaction interface (as defined in the `javax.resource.spi` package) is used by the container for local transaction management.

  A local transaction is managed internal to a resource manager. There is no external transaction manager involved in the coordination of such transactions.

  A CCI implementation can (but is not required to) implement the LocalTransaction interface. If the LocalTransaction interface is supported by a CCI implementation, then the method `Connection.getLocalTransaction` should return a LocalTransaction instance. A component can then use the returned LocalTransaction to demarcate a resource manager local transaction (associated with the Connection instance) on the underlying EIS instance.

  Since:
    0.8
  Author:
    Rahul Sharma
  See Also:
    `Connection`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `begin()` Begins a local transaction on an EIS instance.
    `void` | `commit()` Commits the current local transaction and release all locks held by the underlying EIS instance.
    `void` | `rollback()` Rollbacks the current resource manager local transaction.

- - ### Method Detail

    - #### begin

          void begin()
                     throws ResourceException

      Begins a local transaction on an EIS instance.
      Throws:
        `ResourceException` - Failed to begin a local transaction. Examples of error cases are:
        - Resource adapter internal or EIS-specific error
        - Connection is already participating in a local or JTA transaction

    - #### commit

          void commit()
                      throws ResourceException

      Commits the current local transaction and release all locks held by the underlying EIS instance.
      Throws:
        `ResourceException` - Failed to commit a local transaction. Examples of error cases are:
        - Resource adapter internal or EIS-specific error
        - Violation of integrity constraints, deadlock detection, communication failure during transaction completion, or any retry requirement
        - Connection is participating in an active JTA transaction
        - Invalid transaction context; commit operation invoked without an active transaction context

    - #### rollback

          void rollback()
                        throws ResourceException

      Rollbacks the current resource manager local transaction.
      Throws:
        `ResourceException` - Failed to rollback a local transaction. Examples of error cases are:
        - Resource adapter internal or EIS-specific error
        - Connection is participating in an active JTA transaction
        - Invalid transaction context; rollback operation invoked without an active transaction context

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.