# Class AdminConnectionFactory

java.lang.Object
com.sun.messaging.AdministeredObject
com.sun.messaging.AdminConnectionFactory

All Implemented Interfaces:
  `Serializable`

public class AdminConnectionFactory extends AdministeredObject
An `AdminConnectionFactory` is used by management clients to create JMX connections to the Message Queue broker. After establishing a connection successfully, a handle to a JMX Connector can be obtained which can then be used for management or monitoring operations.

The sample code below obtains a JMX Connector that communicates with the default RMI based connector on the broker that is running on the default host and port (localhost and port 7676). The administrator username and password used here is the default `admin` and `admin`.

        import javax.management.*;
        import javax.management.remote.*;
        import com.sun.messaging.AdminConnectionFactory;
        ...
        AdminConnectionFactory acf;

        acf = new AdminConnectionFactory();
        System.out.println("JMXServiceURL used: " + acf.getJMXServiceURL().toString());

        JMXConnector jmxc = acf.createConnection();

        // Proceed to manage/monitor the broker using the JMX Connector
        // obtained above.
        ...

The sample code below obtains a JMX Connector that communicates with the default RMI connector on the broker that is running on the host `myhost` on port 7979. The administrator username and password used here is `admin1` and `adminpasswd`.

        import javax.management.*;
        import javax.management.remote.*;
        import com.sun.messaging.AdminConnectionFactory;
        import com.sun.messaging.AdminConnectionConfiguration;
        ...
        AdminConnectionFactory acf;

        acf = new AdminConnectionFactory();
        acf.setProperty(AdminConnectionConfiguration.imqAddress,
                    "myhost:7979");
        System.out.println("JMXServiceURL used: " + acf.getJMXServiceURL().toString());

        JMXConnector jmxc = acf.createConnection("admin1", "adminpasswd");

        // Proceed to manage/monitor the broker using the JMX Connector
        // obtained above.
        ...

The sample code below obtains a JMX Connector that communicates with the RMI connector named ssljmxrmi on the broker that is running on the localhost and on port 7676. This is the JMX connector that is configured to use SSL. The administrator username and password used here is the default `admin` and `admin`.

        import javax.management.*;
        import javax.management.remote.*;
        import com.sun.messaging.AdminConnectionFactory;
        import com.sun.messaging.AdminConnectionConfiguration;
        ...
        AdminConnectionFactory acf;

        acf = new AdminConnectionFactory();
        acf.setProperty(AdminConnectionConfiguration.imqAddress,
                    "localhost:7676/ssljmxrmi");
        System.out.println("JMXServiceURL used: " + acf.getJMXServiceURL().toString());

        JMXConnector jmxc = acf.createConnection();

        // Proceed to manage/monitor the broker using the JMX Connector
        // obtained above.
        ...

See Also:
  - `com.sun.messaging.AdminConnectionConfiguration`
  - 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
  ``
  `AdminConnectionFactory()`
  Constructs a AdminConnectionFactory with the default configuration.
  `protected`
  `AdminConnectionFactory(String defaultsBase)`
  Constructs a AdminConnectionFactory with the specified configuration.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `JMXConnector`
  `createConnection()`
  Creates a Connection with the default user identity.
  `JMXConnector`
  `createConnection(String username, String password)`
  Creates a Connection with a specified user identity.
  `JMXServiceURL`
  `getJMXServiceURL()`
  Returns the relevant JMXServiceURL that is advertised by the portmapper.
  `void`
  `setDefaultConfiguration()`
  Sets the minimum `AdminConnectionFactory` configuration defaults required to connect to the MQ Administration Service.
  `String`
  `toString()`
  Returns a pretty printed version of the provider specific information for this ConnectionFactory object.

  ### 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

  - ### AdminConnectionFactory

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

  - ### AdminConnectionFactory

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

- ## Method Details

  - ### createConnection

    public JMXConnector createConnection() throws JMException
    Creates a Connection with the default user identity. The default user identity is defined by the `AdminConnectionFactory` properties `imqDefaultAdminUsername` and `imqDefaultAdminPassword`
    Returns:
      a newly created Connection.
    Throws:
      `JMException` - if a JMS error occurs.
    See Also:
      - `AdminConnectionConfiguration.imqDefaultAdminUsername`
      - `AdminConnectionConfiguration.imqDefaultAdminPassword`

  - ### createConnection

    public JMXConnector createConnection(String username, String password) throws JMException
    Creates a Connection with a specified user identity.
    Parameters:
      `username` - the caller's user name
      `password` - the caller's password
    Returns:
      a newly created connection.
    Throws:
      `JMException` - if a JMX error occurs.

  - ### toString

    public String toString()
    Returns a pretty printed version of the provider specific information for this ConnectionFactory object.
    Overrides:
      `toString` in class `AdministeredObject`
    Returns:
      the pretty printed string.

  - ### getJMXServiceURL

    public JMXServiceURL getJMXServiceURL() throws JMException
    Returns the relevant JMXServiceURL that is advertised by the portmapper. This url will be used in connection attempts.
    Returns:
      The relevant JMXServiceURL that is advertised by the portmapper.
    Throws:
      `JMException`

  - ### setDefaultConfiguration

    public void setDefaultConfiguration()
    Sets the minimum `AdminConnectionFactory` configuration defaults required to connect to the MQ Administration Service.
    Specified by:
      `setDefaultConfiguration` in class `AdministeredObject`