Package org.eclipse.emf.cdo.transaction

## Interface CDOXATransaction

- All Superinterfaces:
    `CDOUserTransaction`
  All Known Subinterfaces:
    `InternalCDOXATransaction`

      public interface CDOXATransaction
      extends CDOUserTransaction

  A distributed (XA) transaction that can atomically commit the changes to multiple `resource sets`, each represented by a registered `view set`.
  Since:
    2.0
  Author:
    Simon McDuff
  No Implement
    This interface is not intended to be implemented by clients.
  No Extend
    This interface is not intended to be extended by clients.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `add​(CDOViewSet viewSet)` |
    `CDOXASavepoint` | `getLastSavepoint()` |
    `boolean` | `isAllowRequestFromTransactionEnabled()` | Allow request that come from contains `CDOTransaction`.
    `void` | `remove​(CDOViewSet viewSet)` |
    `void` | `setAllowRequestFromTransactionEnabled​(boolean allRequest)` | see `isAllowRequestFromTransactionEnabled()`
    `CDOXASavepoint` | `setSavepoint()` | Creates a save point in the `CDOTransaction` that can be used to roll back a part of the transaction

    - ### Methods inherited from interface org.eclipse.emf.cdo.transaction.CDOUserTransaction

      `commit, commit, rollback`

- - ### Method Detail

    - #### add

          void add​(CDOViewSet viewSet)

    - #### remove

          void remove​(CDOViewSet viewSet)

    - #### setAllowRequestFromTransactionEnabled

          void setAllowRequestFromTransactionEnabled​(boolean allRequest)

      see `isAllowRequestFromTransactionEnabled()`

    - #### isAllowRequestFromTransactionEnabled

          boolean isAllowRequestFromTransactionEnabled()

      Allow request that come from contains `CDOTransaction`. Default value is true.

      If the value is true, cdoTransaction.commit() will call xaTransaction.commit and all `CDOXATransaction` part of xaTransaction will be committed.

      If the value is false, the user will receive an exception by calling cdoTransaction.commit(). The user can only commit from `CDOXATransaction`.

    - #### setSavepoint

          CDOXASavepoint setSavepoint()

      Description copied from interface: `CDOUserTransaction`
      Creates a save point in the `CDOTransaction` that can be used to roll back a part of the transaction

      Save points do not involve the server side, everything is done on the client side.

      Specified by:
        `setSavepoint` in interface `CDOUserTransaction`
      Since:
        3.0

    - #### getLastSavepoint

          CDOXASavepoint getLastSavepoint()

      Specified by:
        `getLastSavepoint` in interface `CDOUserTransaction`
      Since:
        3.0