# Class ConnectionFactory

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

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

Direct Known Subclasses:
  `QueueConnectionFactory, TopicConnectionFactory, XAConnectionFactory`

public class ConnectionFactory extends BasicConnectionFactory implements Referenceable
A `ConnectionFactory` is used to create Connections with the OpenMQ Java Message Service (JMS) provider.

See Also:
  - `jakarta.jms.ConnectionFactory`
  - `com.sun.messaging.ConnectionConfiguration`
  - 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
  Modifier
  Constructor
  Description
  ``
  `ConnectionFactory()`
  Constructs a ConnectionFactory with the default configuration.
  `protected`
  `ConnectionFactory(String defaultsBase)`
  Constructs a ConnectionFactory with the specified configuration.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `jakarta.jms.QueueConnection`
  `createQueueConnection()`
  Creates a Queue Connection with the default user identity.
  `jakarta.jms.QueueConnection`
  `createQueueConnection(String username, String password)`
  Creates a Queue Connection with a specified user identity.
  `jakarta.jms.TopicConnection`
  `createTopicConnection()`
  Creates a Topic Connection with the default user identity.
  `jakarta.jms.TopicConnection`
  `createTopicConnection(String username, String password)`
  Creates a Topic Connection with a specified user identity.
  `Reference`
  `getReference()`
  Returns the reference to this object.

  ### Methods inherited from class BasicConnectionFactory

  `createConnection, createConnection, createContext, createContext, createContext, createContext, getConnectionType, getContainerType, 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

  - ### ConnectionFactory

    public ConnectionFactory()
    Constructs a ConnectionFactory with the default configuration.

  - ### ConnectionFactory

    protected ConnectionFactory(String defaultsBase)
    Constructs a ConnectionFactory with the specified configuration.

- ## Method Details

  - ### createQueueConnection

    public jakarta.jms.QueueConnection createQueueConnection() throws jakarta.jms.JMSException
    Creates a Queue Connection with the default user identity. The default user identity is defined by the `ConnectionFactory` properties `imqDefaultUsername` and `imqDefaultPassword`
    Returns:
      a newly created Queue Connection.
    Throws:
      `jakarta.jms.JMSException` - if a JMS error occurs.
    See Also:
      - `ConnectionConfiguration.imqDefaultUsername`
      - `ConnectionConfiguration.imqDefaultPassword`

  - ### createQueueConnection

    public jakarta.jms.QueueConnection createQueueConnection(String username, String password) throws jakarta.jms.JMSException
    Creates a Queue Connection with a specified user identity.
    Parameters:
      `username` - the caller's user name
      `password` - the caller's password
    Returns:
      a newly created queue connection.
    Throws:
      `jakarta.jms.JMSException` - if a JMS error occurs.

  - ### createTopicConnection

    public jakarta.jms.TopicConnection createTopicConnection() throws jakarta.jms.JMSException
    Creates a Topic Connection with the default user identity. The default user identity is defined by the `ConnectionFactory` properties `imqDefaultUsername` and `imqDefaultPassword`
    Returns:
      a newly created Topic Connection.
    Throws:
      `jakarta.jms.JMSException` - if a JMS error occurs.
    See Also:
      - `ConnectionConfiguration.imqDefaultUsername`
      - `ConnectionConfiguration.imqDefaultPassword`

  - ### createTopicConnection

    public jakarta.jms.TopicConnection createTopicConnection(String username, String password) throws jakarta.jms.JMSException
    Creates a Topic Connection with a specified user identity.
    Parameters:
      `username` - the caller's user name
      `password` - the caller's password
    Returns:
      a newly created topic connection.
    Throws:
      `jakarta.jms.JMSException` - if a JMS error occurs.

  - ### getReference

    public Reference getReference()
    Returns the reference to this object.
    Specified by:
      `getReference` in interface `Referenceable`
    Returns:
      The Reference Object that can be used to reconstruct this object