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
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_OPTIONS
          This parameter represents the options pertaining to the collective post-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 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.

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.

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.

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.

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.

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.

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.

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.

See Also:
Constant Field Values