XAConnection (Java SE 26 & JDK 26)
Description: declaration: module: java.sql, package: javax.sql, interface: XAConnection
Keywords: javax.sql.XAConnection interface

# 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