Class ConnectorServer

  • All Implemented Interfaces:
    LifeCycle

    public class ConnectorServer
    extends AbstractLifeCycle

    LifeCycle wrapper for JMXConnectorServer.

    This class provides the following facilities:

    • participates in the Server lifecycle
    • starts the RMI registry if not there already
    • allows to bind the RMI registry and the RMI server to the loopback interface
    • makes it easy to use TLS for the JMX communication
    • Field Detail

      • RMI_REGISTRY_CLIENT_SOCKET_FACTORY_ATTRIBUTE

        public static final java.lang.String RMI_REGISTRY_CLIENT_SOCKET_FACTORY_ATTRIBUTE
        See Also:
        Constant Field Values
      • LOG

        private static final Logger LOG
      • _jmxURL

        private javax.management.remote.JMXServiceURL _jmxURL
      • _environment

        private final java.util.Map<java.lang.String,​java.lang.Object> _environment
      • _objectName

        private final java.lang.String _objectName
      • _registryPort

        private int _registryPort
      • _rmiPort

        private int _rmiPort
      • _connectorServer

        private javax.management.remote.JMXConnectorServer _connectorServer
      • _registry

        private java.rmi.registry.Registry _registry
    • Constructor Detail

      • ConnectorServer

        public ConnectorServer​(javax.management.remote.JMXServiceURL serviceURL,
                               java.lang.String name)
        Constructs a ConnectorServer
        Parameters:
        serviceURL - the address of the new ConnectorServer
        name - object name string to be assigned to ConnectorServer bean
      • ConnectorServer

        public ConnectorServer​(javax.management.remote.JMXServiceURL svcUrl,
                               java.util.Map<java.lang.String,​?> environment,
                               java.lang.String name)
        Constructs a ConnectorServer
        Parameters:
        svcUrl - the address of the new ConnectorServer
        environment - a set of attributes to control the new ConnectorServer's behavior. This parameter can be null. Keys in this map must be Strings. The appropriate type of each associated value depends on the attribute. The contents of environment are not changed by this call.
        name - object name string to be assigned to ConnectorServer bean
      • ConnectorServer

        public ConnectorServer​(javax.management.remote.JMXServiceURL svcUrl,
                               java.util.Map<java.lang.String,​?> environment,
                               java.lang.String name,
                               SslContextFactory sslContextFactory)
    • Method Detail

      • getAddress

        public javax.management.remote.JMXServiceURL getAddress()
      • doStart

        public void doStart()
                     throws java.lang.Exception
        Overrides:
        doStart in class AbstractLifeCycle
        Throws:
        java.lang.Exception
      • doStop

        public void doStop()
                    throws java.lang.Exception
        Overrides:
        doStop in class AbstractLifeCycle
        Throws:
        java.lang.Exception
      • startRegistry

        private java.lang.String startRegistry​(HostPort hostPort)
                                        throws java.lang.Exception
        Throws:
        java.lang.Exception
      • normalizeHost

        private java.lang.String normalizeHost​(java.lang.String host)
                                        throws java.net.UnknownHostException
        Throws:
        java.net.UnknownHostException
      • stopRegistry

        private void stopRegistry()