Package virtuoso.jdbc4

## Class VirtuosoXAConnection

- java.lang.Object
- - virtuoso.jdbc4.VirtuosoXAConnection

All Implemented Interfaces:
  `javax.sql.PooledConnection`, `javax.sql.XAConnection`

    public class VirtuosoXAConnection
    extends java.lang.Object
    implements javax.sql.XAConnection

### Constructor Summary

Constructors
`protected` `VirtuosoXAConnection​(VirtuosoPooledConnection connection, java.lang.String server, int port)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addConnectionEventListener​(javax.sql.ConnectionEventListener listener)` Registers the given event listener so that it will be notified when an event occurs on this `OPLXAConnection` object.
`void` `addStatementEventListener​(javax.sql.StatementEventListener listener)` Registers a `StatementEventListener` with this `PooledConnection` object.
`void` `close​()` Closes the physical connection that this `OPLXAConnection` object represents.
`java.sql.Connection` `getConnection​()` Creates and returns a `Connection` object that is a handle for the physical connection that this `PooledConnection` object represents.
`javax.transaction.xa.XAResource` `getXAResource​()` Retrieves an `XAResource` object that the transaction manager will use to manage this `XAConnection` object's participation in a distributed transaction.
`void` `removeConnectionEventListener​(javax.sql.ConnectionEventListener listener)` Removes the given event listener from the list of components that will be notified when an event occurs on this `OPLXAConnection` object.
`void` `removeStatementEventListener​(javax.sql.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.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### VirtuosoXAConnection

    protected VirtuosoXAConnection​(VirtuosoPooledConnection connection,
                                   java.lang.String server,
                                   int port)
                            throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

### Method Detail

#### getXAResource

    public javax.transaction.xa.XAResource getXAResource​()
                                                  throws java.sql.SQLException

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

Specified by:
  `getXAResource` in interface `javax.sql.XAConnection`
Returns:
  the `XAResource` object
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### getConnection

    public java.sql.Connection getConnection​()
                                      throws java.sql.SQLException

Creates and returns a `Connection` object that is a handle for the physical connection that this `PooledConnection` object represents. The connection pool manager calls this method when an application has called the method `DataSource.getConnection` and there are no `PooledConnection` objects available. See the `interface description` for more information.

Specified by:
  `getConnection` in interface `javax.sql.PooledConnection`
Returns:
  a `Connection` object that is a handle to this `PooledConnection` object
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### close

    public void close​()
               throws java.sql.SQLException

Closes the physical connection that this `OPLXAConnection` object represents. An application never calls this method directly; it is called by the connection pool module, or manager.

See the `interface description` for more information.

Specified by:
  `close` in interface `javax.sql.PooledConnection`
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### addConnectionEventListener

    public void addConnectionEventListener​(javax.sql.ConnectionEventListener listener)

Registers the given event listener so that it will be notified when an event occurs on this `OPLXAConnection` object.

Specified by:
  `addConnectionEventListener` in interface `javax.sql.PooledConnection`
Parameters:
  `listener` - a component, usually the connection pool manager, that has implemented the `ConnectionEventListener` interface and wants to be notified when the connection is closed or has an error
See Also:
  `removeConnectionEventListener(javax.sql.ConnectionEventListener)`

#### removeConnectionEventListener

    public void removeConnectionEventListener​(javax.sql.ConnectionEventListener listener)

Removes the given event listener from the list of components that will be notified when an event occurs on this `OPLXAConnection` object.

Specified by:
  `removeConnectionEventListener` in interface `javax.sql.PooledConnection`
Parameters:
  `listener` - a component, usually the connection pool manager, that has implemented the `ConnectionEventListener` interface and been registered with this `PooledConnection` object as a listener
See Also:
  `addConnectionEventListener(javax.sql.ConnectionEventListener)`

#### addStatementEventListener

    public void addStatementEventListener​(javax.sql.StatementEventListener listener)

Registers a `StatementEventListener` with this `PooledConnection` object. Components that wish to be notified when `PreparedStatement`s created by the connection are closed or are detected to be invalid may use this method to register a `StatementEventListener` with this `PooledConnection` object.

Specified by:
  `addStatementEventListener` in interface `javax.sql.PooledConnection`
Parameters:
  `listener` - an component which implements the `StatementEventListener` interface that is to be registered with this `PooledConnection` object

Since:
  1.6

#### removeStatementEventListener

    public void removeStatementEventListener​(javax.sql.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.

Specified by:
  `removeStatementEventListener` in interface `javax.sql.PooledConnection`
Parameters:
  `listener` - the component which implements the `StatementEventListener` interface that was previously registered with this `PooledConnection` object

Since:
  1.6