# Class XAConnectionFactory

java.lang.Object
com.sun.messaging.AdministeredObject
com.sun.messaging.BasicConnectionFactory
com.sun.messaging.ConnectionFactory
com.sun.messaging.XAConnectionFactory

All Implemented Interfaces:
  `jakarta.jms.ConnectionFactory, jakarta.jms.XAConnectionFactory, Serializable, Referenceable`

Direct Known Subclasses:
  `XAQueueConnectionFactory, XATopicConnectionFactory`

public class XAConnectionFactory extends ConnectionFactory implements jakarta.jms.XAConnectionFactory
An `XAConnectionFactory` is used to create XAConnections with the OpenMQ Java Message Service (JMS) provider.

See Also:
  - `jakarta.jms.XAConnectionFactory`
  - Serialized Form

- ## Field Summary

  ### Fields inherited from class AdministeredObject

  `AO_PROPERTY_TYPE_BOOLEAN, AO_PROPERTY_TYPE_INTEGER, AO_PROPERTY_TYPE_LIST, AO_PROPERTY_TYPE_LONG, AO_PROPERTY_TYPE_PROPERTYOWNER, AO_PROPERTY_TYPE_STRING, cachedConfigurationMap, configuration, configurationLabels, configurationTypes, cr, VERSION`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `XAConnectionFactory()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `jakarta.jms.XAConnection`
  `createXAConnection()`
  Create an XA connection with default user identity.
  `jakarta.jms.XAConnection`
  `createXAConnection(String username, String password)`
  Create an XA connection with specified user identity.
  `jakarta.jms.XAJMSContext`
  `createXAContext()`
  `jakarta.jms.XAJMSContext`
  `createXAContext(String userName, String password)`
  `jakarta.jms.XAQueueConnection`
  `createXAQueueConnection()`
  Create an XA queue connection with default user identity.
  `jakarta.jms.XAQueueConnection`
  `createXAQueueConnection(String username, String password)`
  Create an XA queue connection with specific user identity.
  `jakarta.jms.XATopicConnection`
  `createXATopicConnection()`
  Create an XA topic connection with default user identity.
  `jakarta.jms.XATopicConnection`
  `createXATopicConnection(String username, String password)`
  Create an XA topic connection with specified user identity.
  `protected static com.sun.messaging.jmq.jmsclient.ContainerType`
  `getContainerType()`

  ### Methods inherited from class ConnectionFactory

  `createQueueConnection, createQueueConnection, createTopicConnection, createTopicConnection, getReference`

  ### Methods inherited from class BasicConnectionFactory

  `createConnection, createConnection, createContext, createContext, createContext, createContext, getConnectionType, setConnectionType, setDefaultConfiguration, toString`

  ### Methods inherited from class AdministeredObject

  `dump, enumeratePropertyNames, getConfiguration, getCurrentConfiguration, getLabelForGroup, getPropertiesForGroup, getProperty, getPropertyForListValue, getPropertyGroups, getPropertyLabel, getPropertyListOtherName, getPropertyListValues, getPropertyType, getPropertyValueForListValue, getStoredVersion, getVERSION, isPropertyDeprecated, isPropertyHidden, isReadOnly, isStoredVersionCompatible, setProperties, setProperty, setReadOnly, setStoredVersion`

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### XAConnectionFactory

    public XAConnectionFactory()

- ## Method Details

  - ### createXAConnection

    public jakarta.jms.XAConnection createXAConnection() throws jakarta.jms.JMSException
    Create an XA connection with default user identity. The connection is created in stopped mode. No messages will be delivered until `Connection.start` method is explicitly called.
    Specified by:
      `createXAConnection` in interface `jakarta.jms.XAConnectionFactory`
    Returns:
      a newly created XA connection.
    Throws:
      `jakarta.jms.JMSException` - if JMS Provider fails to create XA Connection due to some internal error.
      `jakarta.jms.JMSSecurityException` - if client authentication fails due to invalid user name or password.

  - ### createXAConnection

    public jakarta.jms.XAConnection createXAConnection(String username, String password) throws jakarta.jms.JMSException
    Create an XA connection with specified user identity. The connection is created in stopped mode. No messages will be delivered until `Connection.start` method is explicitly called.
    Specified by:
      `createXAConnection` in interface `jakarta.jms.XAConnectionFactory`
    Parameters:
      `username` - the caller's user name
      `password` - the caller's password
    Returns:
      a newly created XA connection.
    Throws:
      `jakarta.jms.JMSException` - if JMS Provider fails to create XA connection due to some internal error.
      `jakarta.jms.JMSSecurityException` - if client authentication fails due to invalid user name or password.

  - ### createXAQueueConnection

    public jakarta.jms.XAQueueConnection createXAQueueConnection() throws jakarta.jms.JMSException
    Create an XA queue connection with default user identity. The connection is created in stopped mode. No messages will be delivered until `Connection.start` method is explicitly called.
    Returns:
      a newly created XA queue connection.
    Throws:
      `jakarta.jms.JMSException` - if JMS Provider fails to create XA queue Connection due to some internal error.
      `jakarta.jms.JMSSecurityException` - if client authentication fails due to invalid user name or password.

  - ### createXAQueueConnection

    public jakarta.jms.XAQueueConnection createXAQueueConnection(String username, String password) throws jakarta.jms.JMSException
    Create an XA queue connection with specific user identity. The connection is created in stopped mode. No messages will be delivered until `Connection.start` method is explicitly called.
    Parameters:
      `username` - the caller's user name
      `password` - the caller's password
    Returns:
      a newly created XA queue connection.
    Throws:
      `jakarta.jms.JMSException` - if JMS Provider fails to create XA queue Connection due to some internal error.
      `jakarta.jms.JMSSecurityException` - if client authentication fails due to invalid user name or password.

  - ### createXATopicConnection

    public jakarta.jms.XATopicConnection createXATopicConnection() throws jakarta.jms.JMSException
    Create an XA topic connection with default user identity. The connection is created in stopped mode. No messages will be delivered until `Connection.start` method is explicitly called.
    Returns:
      a newly created XA topic connection.
    Throws:
      `jakarta.jms.JMSException` - if JMS Provider fails to create XA topic Connection due to some internal error.
      `jakarta.jms.JMSSecurityException` - if client authentication fails due to invalid user name or password.

  - ### createXATopicConnection

    public jakarta.jms.XATopicConnection createXATopicConnection(String username, String password) throws jakarta.jms.JMSException
    Create an XA topic connection with specified user identity. The connection is created in stopped mode. No messages will be delivered until `Connection.start` method is explicitly called.
    Parameters:
      `username` - the caller's user name
      `password` - the caller's password
    Returns:
      a newly created XA topic connection.
    Throws:
      `jakarta.jms.JMSException` - if JMS Provider fails to create XA topi connection due to some internal error.
      `jakarta.jms.JMSSecurityException` - if client authentication fails due to invalid user name or password.

  - ### createXAContext

    public jakarta.jms.XAJMSContext createXAContext()
    Specified by:
      `createXAContext` in interface `jakarta.jms.XAConnectionFactory`

  - ### createXAContext

    public jakarta.jms.XAJMSContext createXAContext(String userName, String password)
    Specified by:
      `createXAContext` in interface `jakarta.jms.XAConnectionFactory`

  - ### getContainerType

    protected static com.sun.messaging.jmq.jmsclient.ContainerType getContainerType()