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

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 Details

### 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