com.ibm.websphere.jmx.connector.rest

Interface ConnectorSettings

  • All Known Implementing Classes:
    ClientProvider


    public interface ConnectorSettings
    Provides constants for connection settings of the Liberty profile JMX REST connector client. The settings can be adjusted in 2 ways:

    1. Globally, by setting a system property with the desired value. For example, to set READ_TIMEOUT to 2 minutes (120000 milliseconds), use the Java option:

       -Dcom.ibm.ws.jmx.connector.client.rest.readTimeout=120000
       
    2. On a per connection basis, by adding an entry to the environment Map parameter of the JMXConnectorFactory.newJMXConnector(javax.management.remote.JMXServiceURL, java.util.Map) or JMXConnector.connect(java.util.Map) method.

       
       HashMap environment = new HashMap();
       environment.put("jmx.remote.protocol.provider.pkgs", "com.ibm.ws.jmx.connector.client");
       environment.put(JMXConnector.CREDENTIALS, new String[] { "bob", "bobpassword" });
       environment.put(ConnectorSettings.MAX_SERVER_WAIT_TIME, 120000);
      
       JMXServiceURL url = new JMXServiceURL("service:jmx:rest://<host>:<port>/IBMJMXConnectorREST");
       JMXConnector connector = JMXConnectorFactory.newJMXConnector(url, environment);
       connector.connect(environment);
       
       
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static java.lang.String ASYNC_EXECUTION
      This parameter represents a request for an asynchronous execution within the collective.
      static java.lang.String CERTIFICATE_AUTHENTICATION
      Indicates that the JMXConnector.CREDENTIALS will be handled by SSL certificate based authentication.
      static java.lang.String COLLECTIVE_HOST_NAMES
      This parameter represents a comma-separated list of host names within the collective.
      static java.lang.String CUSTOM_SSLSOCKETFACTORY
      Indicates that all JMX connections will use the specified SSLSocketFactory
      static java.lang.String DISABLE_HOSTNAME_VERIFICATION
      Boolean setting that when enabled disables hostname verification on the client connections.
      static java.lang.String MAX_SERVER_WAIT_TIME
      Integer setting for the amount of time in milliseconds that the client waits for the server to become available before the JMX connection fails and a new connection must be created.
      static java.lang.String NOTIFICATION_DELIVERY_INTERVAL
      Integer setting for the maximum amount of time in milliseconds that the server waits for new notifications before responding to a request for notifications from the client.
      static java.lang.String NOTIFICATION_FETCH_INTERVAL
      Integer setting for the amount of time in milliseconds that the client waits before making a new request to fetch notifications.
      static java.lang.String NOTIFICATION_INBOX_EXPIRY
      Integer setting for the amount of time in milliseconds that the server waits before discarding notification registrations if the client has not checked for new notifications.
      static java.lang.String NOTIFICATION_READ_TIMEOUT
      Integer setting for the read timeout in milliseconds for notification fetching.
      static java.lang.String POST_TRANSFER_ACTION
      This parameter represents the request for a post transfer action within the collective.
      static java.lang.String POST_TRANSFER_ACTION_DEFAULT
      This parameter represents the default value for the collective post-transfer-action.
      static java.lang.String POST_TRANSFER_ACTION_FIND_SERVER_NAME
      This parameter represents the action of extarcting a severName from a Liberty zip package for the collective post-transfer-action.
      static java.lang.String POST_TRANSFER_ACTION_OPTIONS
      This parameter represents the options pertaining to the collective post-transfer-action.
      static java.lang.String PRE_TRANSFER_ACTION
      This parameter represents the request for a pre transfer action within the collective.
      static java.lang.String PRE_TRANSFER_ACTION_DEFAULT
      This parameter represents the default value for the collective pre-transfer-action.
      static java.lang.String PRE_TRANSFER_ACTION_OPTIONS
      This parameter represents the options pertaining to the collective pre-transfer-action.
      static java.lang.String READ_TIMEOUT
      Integer setting for the read timeout in milliseconds for all client communications with the server, except notification fetching.
      static java.lang.String ROUTING_KEY_HOST_NAME
      This parameter represents the host name to be used in a routing context.
      static java.lang.String ROUTING_KEY_SERVER_NAME
      This parameter represents the server name to be used in a routing context.
      static java.lang.String ROUTING_KEY_SERVER_USER_DIR
      This parameter represents the server user directory to be used in a routing context.
      static java.lang.String SERVER_FAILOVER_INTERVAL
      Integer setting for the amount of time in milliseconds that the client waits between checks that the server is still available.
      static java.lang.String SERVER_STATUS_POLLING_INTERVAL
      Integer setting for the amount of time in milliseconds that the client waits between checks that the server is available again when MAX_SERVER_WAIT_TIME is non-zero.
      static java.lang.String TRANSFER_CREDENTIALS
      This parameter represents the set of credentials to be used for the transfer action.
      static java.lang.String TRANSFER_ENV_VARS
      This parameter represents a set of environment variables and their corresponding values.
      static java.lang.String WLM_ENDPOINTS
      Work Load Management Endpoints
    • Field Detail

      • DISABLE_HOSTNAME_VERIFICATION

        static final java.lang.String DISABLE_HOSTNAME_VERIFICATION
        Boolean setting that when enabled disables hostname verification on the client connections. This can be useful for environments where the hostname used does not match the one specified in the server certificate.
        See Also:
        Constant Field Values
      • NOTIFICATION_DELIVERY_INTERVAL

        static final java.lang.String NOTIFICATION_DELIVERY_INTERVAL
        Integer setting for the maximum amount of time in milliseconds that the server waits for new notifications before responding to a request for notifications from the client. A larger value results in better notification delivery times because less time is spent establishing new connections. Normally it is not necessary to adjust this value.
        See Also:
        Constant Field Values
      • NOTIFICATION_INBOX_EXPIRY

        static final java.lang.String NOTIFICATION_INBOX_EXPIRY
        Integer setting for the amount of time in milliseconds that the server waits before discarding notification registrations if the client has not checked for new notifications. Normally it is not necessary to adjust this value.
        See Also:
        Constant Field Values
      • NOTIFICATION_FETCH_INTERVAL

        static final java.lang.String NOTIFICATION_FETCH_INTERVAL
        Integer setting for the amount of time in milliseconds that the client waits before making a new request to fetch notifications.
        See Also:
        Constant Field Values
      • READ_TIMEOUT

        static final java.lang.String READ_TIMEOUT
        Integer setting for the read timeout in milliseconds for all client communications with the server, except notification fetching. Adjust this value if the client throws read timeout exceptions because of a slow connection or client or server process.
        See Also:
        Constant Field Values
      • NOTIFICATION_READ_TIMEOUT

        static final java.lang.String NOTIFICATION_READ_TIMEOUT
        Integer setting for the read timeout in milliseconds for notification fetching. Because the server might wait up to NOTIFICATION_DELIVERY_INTERVAL before responding, this value must be somewhat larger, though normally it is not necessary to adjust this value.
        See Also:
        Constant Field Values
      • SERVER_FAILOVER_INTERVAL

        static final java.lang.String SERVER_FAILOVER_INTERVAL
        Integer setting for the amount of time in milliseconds that the client waits between checks that the server is still available. To disable this behaviour, set the value to a negative integer. This value is overridden by ConnectorSettings.NOTIFICATION_FETCH_INTERVAL whenever there are notification listeners registered with this client.
        See Also:
        Constant Field Values
      • MAX_SERVER_WAIT_TIME

        static final java.lang.String MAX_SERVER_WAIT_TIME
        Integer setting for the amount of time in milliseconds that the client waits for the server to become available before the JMX connection fails and a new connection must be created. If the connection is restored, any previous notification listeners are registered again. To disable this behavior, set the value to zero.
        See Also:
        Constant Field Values
      • SERVER_STATUS_POLLING_INTERVAL

        static final java.lang.String SERVER_STATUS_POLLING_INTERVAL
        Integer setting for the amount of time in milliseconds that the client waits between checks that the server is available again when MAX_SERVER_WAIT_TIME is non-zero. Normally it is not necessary to adjust this value.
        See Also:
        Constant Field Values
      • CERTIFICATE_AUTHENTICATION

        static final java.lang.String CERTIFICATE_AUTHENTICATION
        Indicates that the JMXConnector.CREDENTIALS will be handled by SSL certificate based authentication.
        See Also:
        Constant Field Values
      • CUSTOM_SSLSOCKETFACTORY

        static final java.lang.String CUSTOM_SSLSOCKETFACTORY
        Indicates that all JMX connections will use the specified SSLSocketFactory
        See Also:
        Constant Field Values
      • WLM_ENDPOINTS

        static final java.lang.String WLM_ENDPOINTS

        Work Load Management Endpoints

        List of Strings setting to indicate which endpoints, in addition to the host and port in the JMXServiceURL, are valid for establishing a connection. An endpoint is defined as "host:port".

        When the work load management endpoint list is set, the initial connection is made using one of the endpoints in the complete set of available endpoints. The complete set of endpoints is the host and port specified to the JMXServiceURL as well as the contents of the work load management endpoint list.

        This property is only supported in the programmatic JMX environment.

         
         List<String> endpoints = new ArrayList<String>
         endpoints.add("<host2>:<port>");
        
         HashMap environment = new HashMap();
         environment.put("jmx.remote.protocol.provider.pkgs", "com.ibm.ws.jmx.connector.client");
         environment.put(JMXConnector.CREDENTIALS, new String[] { "bob", "bobpassword" });
         environment.put(ConnectorSettings.WLM_ENDPOINTS, endpoints);
        
         JMXServiceURL url = new JMXServiceURL("service:jmx:rest://<host>:<port>/IBMJMXConnectorREST");
         JMXConnector connector = JMXConnectorFactory.newJMXConnector(url, environment);
         connector.connect(environment);
         
         
        The preceding code would establish the available endpoint set as host:port and host2:port.

        No ordering guarantees are made regarding which endpoint is ultimately used for the connection, but all endpoints will be tried in order to establish a connection. Only when all endpoints in the complete set are inaccessible is a connection considered to be unobtainable.

        Fail-over retry will occur if the invoked operation could not be started. If the connection is lost during an operation, no retry will be done so as to not issue the same command twice. In other words, if we loose the connection before the operation can report success, an IOException will be thrown and the operation will not be re-tried.

        See Also:
        Constant Field Values
      • ROUTING_KEY_HOST_NAME

        static final java.lang.String ROUTING_KEY_HOST_NAME
        This parameter represents the host name to be used in a routing context. This parameter is not applicable to the settings passed into the client-side of the JMX REST connector. It is used only by the file transfer RESTful endpoint and the Routing MBean, exposed by the server-side of the JMX REST connector.
        See Also:
        Constant Field Values
      • ROUTING_KEY_SERVER_NAME

        static final java.lang.String ROUTING_KEY_SERVER_NAME
        This parameter represents the server name to be used in a routing context. This parameter is not applicable to the settings passed into the client-side of the JMX REST connector. It is used only by the file transfer RESTful endpoint and the Routing MBean, exposed by the server-side of the JMX REST connector.
        See Also:
        Constant Field Values
      • ROUTING_KEY_SERVER_USER_DIR

        static final java.lang.String ROUTING_KEY_SERVER_USER_DIR
        This parameter represents the server user directory to be used in a routing context. This parameter is not applicable to the settings passed into the client-side of the JMX REST connector. It is used only by the file transfer RESTful endpoint and the Routing MBean, exposed by the server-side of the JMX REST connector.
        See Also:
        Constant Field Values
      • COLLECTIVE_HOST_NAMES

        static final java.lang.String COLLECTIVE_HOST_NAMES
        This parameter represents a comma-separated list of host names within the collective. This parameter is not applicable to the settings passed into the client-side of the JMX REST connector. It is used only by the file transfer RESTful endpoint, exposed by the server-side of the JMX REST connector.
        See Also:
        Constant Field Values
      • ASYNC_EXECUTION

        static final java.lang.String ASYNC_EXECUTION
        This parameter represents a request for an asynchronous execution within the collective. This parameter is not applicable to the settings passed into the client-side of the JMX REST connector. It is used only by the file transfer RESTful endpoint, exposed by the server-side of the JMX REST connector.
        See Also:
        Constant Field Values
      • TRANSFER_CREDENTIALS

        static final java.lang.String TRANSFER_CREDENTIALS
        This parameter represents the set of credentials to be used for the transfer action. The payload of the header is a JSON object with attributes from the CollectiveRegistrationMBean. Only credentials (user name, password, keys) are defined. The host and port attributes are not supported. This parameter is not applicable to the settings passed into the client-side of the JMX REST connector. It is used only by the file transfer RESTful endpoint, exposed by the server-side of the JMX REST connector.
        See Also:
        Constant Field Values
      • PRE_TRANSFER_ACTION

        static final java.lang.String PRE_TRANSFER_ACTION
        This parameter represents the request for a pre transfer action within the collective. This parameter is not applicable to the settings passed into the client-side of the JMX REST connector. It is used only by the file transfer RESTful endpoint, exposed by the server-side of the JMX REST connector.
        See Also:
        Constant Field Values
      • POST_TRANSFER_ACTION

        static final java.lang.String POST_TRANSFER_ACTION
        This parameter represents the request for a post transfer action within the collective. This parameter is not applicable to the settings passed into the client-side of the JMX REST connector. It is used only by the file transfer RESTful endpoint, exposed by the server-side of the JMX REST connector.
        See Also:
        Constant Field Values
      • PRE_TRANSFER_ACTION_DEFAULT

        static final java.lang.String PRE_TRANSFER_ACTION_DEFAULT
        This parameter represents the default value for the collective pre-transfer-action. This parameter is not applicable to the settings passed into the client-side of the JMX REST connector. It is used only by the file transfer RESTful endpoint, exposed by the server-side of the JMX REST connector.
        See Also:
        Constant Field Values
      • POST_TRANSFER_ACTION_DEFAULT

        static final java.lang.String POST_TRANSFER_ACTION_DEFAULT
        This parameter represents the default value for the collective post-transfer-action. This parameter is not applicable to the settings passed into the client-side of the JMX REST connector. It is used only by the file transfer RESTful endpoint, exposed by the server-side of the JMX REST connector.
        See Also:
        Constant Field Values
      • POST_TRANSFER_ACTION_FIND_SERVER_NAME

        static final java.lang.String POST_TRANSFER_ACTION_FIND_SERVER_NAME
        This parameter represents the action of extarcting a severName from a Liberty zip package for the collective post-transfer-action. This parameter is not applicable to the settings passed into the client-side of the JMX REST connector. It is used only by the file transfer RESTful endpoint, exposed by the server-side of the JMX REST connector.
        See Also:
        Constant Field Values
      • PRE_TRANSFER_ACTION_OPTIONS

        static final java.lang.String PRE_TRANSFER_ACTION_OPTIONS
        This parameter represents the options pertaining to the collective pre-transfer-action. This parameter is not applicable to the settings passed into the client-side of the JMX REST connector. It is used only by the file transfer RESTful endpoint, exposed by the server-side of the JMX REST connector.
        See Also:
        Constant Field Values
      • POST_TRANSFER_ACTION_OPTIONS

        static final java.lang.String POST_TRANSFER_ACTION_OPTIONS
        This parameter represents the options pertaining to the collective post-transfer-action. This parameter is not applicable to the settings passed into the client-side of the JMX REST connector. It is used only by the file transfer RESTful endpoint, exposed by the server-side of the JMX REST connector.
        See Also:
        Constant Field Values
      • TRANSFER_ENV_VARS

        static final java.lang.String TRANSFER_ENV_VARS
        This parameter represents a set of environment variables and their corresponding values. The payload of the header is a JSON object that has envKey : envValue pairs. This parameter is not applicable to the settings passed into the client-side of the JMX REST connector. It is used only by the file transfer RESTful endpoint, exposed by the server-side of the JMX REST connector.
        See Also:
        Constant Field Values