# Interface XAConnection

All Superinterfaces:
  `PooledConnection`

public interface XAConnection extends PooledConnection
An object that provides support for distributed transactions. An `XAConnection` object may be enlisted in a distributed transaction by means of an `XAResource` object. A transaction manager, usually part of a middle tier server, manages an `XAConnection` object through the `XAResource` object.

An application programmer does not use this interface directly; rather, it is used by a transaction manager working in the middle tier server.

Since:
  1.4

## Method Summary

Modifier and Type
Method
Description
`XAResource`
`getXAResource()`
Retrieves an `XAResource` object that the transaction manager will use to manage this `XAConnection` object's participation in a distributed transaction.

### Methods declared in interface PooledConnection

`addConnectionEventListener, addStatementEventListener, close, getConnection, removeConnectionEventListener, removeStatementEventListener`
Modifier and Type
Method
Description
`void`
`addConnectionEventListener(ConnectionEventListener listener)`
Registers the given event listener so that it will be notified when an event occurs on this `PooledConnection` object.
`void`
`addStatementEventListener(StatementEventListener listener)`
Registers a `StatementEventListener` with this `PooledConnection` object.
`void`
`close()`
Closes the physical connection that this `PooledConnection` object represents.
`Connection`
`getConnection()`
Creates and returns a `Connection` object that is a handle for the physical connection that this `PooledConnection` object represents.
`void`
`removeConnectionEventListener(ConnectionEventListener listener)`
Removes the given event listener from the list of components that will be notified when an event occurs on this `PooledConnection` object.
`void`
`removeStatementEventListener(StatementEventListener listener)`
Removes the specified `StatementEventListener` from the list of components that will be notified when the driver detects that a `PreparedStatement` has been closed or is invalid.

## Method Details

### getXAResource

XAResource getXAResource() throws SQLException
Retrieves an `XAResource` object that the transaction manager will use to manage this `XAConnection` object's participation in a distributed transaction.

Returns:
  the `XAResource` object
Throws:
  `SQLException` - if a database access error occurs
  `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.4