javax.jms

## Interface XAConnectionFactory

All Known Subinterfaces:
  XAQueueConnectionFactory, XATopicConnectionFactory

All Known Implementing Classes:
  XAConnectionFactory, XAQueueConnectionFactory, XATopicConnectionFactory

    public interface XAConnectionFactory

The `XAConnectionFactory` interface is a base interface for the `XAQueueConnectionFactory` and `XATopicConnectionFactory` interfaces.

Some application servers provide support for grouping JTS capable resource use into a distributed transaction (optional). To include JMS API transactions in a JTS transaction, an application server requires a JTS aware JMS provider. A JMS provider exposes its JTS support using an `XAConnectionFactory` object, which an application server uses to create `XAConnection` objects.

`XAConnectionFactory` objects are JMS administered objects, just like `ConnectionFactory` objects. It is expected that application servers will find them using the Java Naming and Directory Interface (JNDI) API.

The `XAConnectionFactory` interface is optional. JMS providers are not required to support this interface. This interface is for use by JMS providers to support transactional environments. Client programs are strongly encouraged to use the transactional support available in their environment, rather than use these XA interfaces directly.

See Also:
  `XAQueueConnectionFactory`, `XATopicConnectionFactory`

### Method Summary

Methods
`XAConnection` `createXAConnection()` Creates an `XAConnection` with the default user identity.
`XAConnection` `createXAConnection(String userName, String password)` Creates an XA connection with the specified user identity.

### Method Detail

#### createXAConnection

    XAConnection createXAConnection()
                                    throws JMSException

Creates an `XAConnection` with the default user identity. The connection is created in stopped mode. No messages will be delivered until the `Connection.start` method is explicitly called.

Returns:
  a newly created `XAConnection`
Throws:
  `JMSException` - if the JMS provider fails to create an XA connection due to some internal error.
  `JMSSecurityException` - if client authentication fails due to an invalid user name or password.
Since:
  1.1

#### createXAConnection

    XAConnection createXAConnection(String userName,
                                  String password)
                                    throws JMSException

Creates an XA connection with the specified user identity. The connection is created in stopped mode. No messages will be delivered until the `Connection.start` method is explicitly called.

Parameters:
  `userName` - the caller's user name
  `password` - the caller's password
Returns:
  a newly created XA connection
Throws:
  `JMSException` - if the JMS provider fails to create an XA connection due to some internal error.
  `JMSSecurityException` - if client authentication fails due to an invalid user name or password.
Since:
  1.1