com.ibm.websphere.jmx.connector.rest

Interface ConnectorSettings

All known implementing classes:
ClientProvider

  1. 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

Modifier and Type Field and Description
  1. static
  2. java.lang.String
CERTIFICATE_AUTHENTICATION
Indicates that the JMXConnector.CREDENTIALS will be handled by SSL certificate based authentication.
  1. static
  2. java.lang.String
CUSTOM_SSLSOCKETFACTORY
Indicates that all JMX connections will use the specified SSLSocketFactory
  1. static
  2. java.lang.String
DISABLE_HOSTNAME_VERIFICATION
Boolean setting that when enabled disables hostname verification on the client connections.
  1. static
  2. 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.
  1. static
  2. 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.
  1. static
  2. 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.
  1. static
  2. 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.
  1. static
  2. java.lang.String
NOTIFICATION_READ_TIMEOUT
Integer setting for the read timeout in milliseconds for notification fetching.
  1. static
  2. java.lang.String
READ_TIMEOUT
Integer setting for the read timeout in milliseconds for all client communications with the server, except notification fetching.
  1. static
  2. 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.
  1. static
  2. 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.
  1. static
  2. java.lang.String
WLM_ENDPOINTS
Work Load Management Endpoints

Field Detail

DISABLE_HOSTNAME_VERIFICATION

  1. 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:

NOTIFICATION_DELIVERY_INTERVAL

  1. 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:

NOTIFICATION_INBOX_EXPIRY

  1. 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:

NOTIFICATION_FETCH_INTERVAL

  1. 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:

READ_TIMEOUT

  1. 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:

NOTIFICATION_READ_TIMEOUT

  1. 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:

SERVER_FAILOVER_INTERVAL

  1. 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:

MAX_SERVER_WAIT_TIME

  1. 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:

SERVER_STATUS_POLLING_INTERVAL

  1. 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:

CERTIFICATE_AUTHENTICATION

  1. static final java.lang.String CERTIFICATE_AUTHENTICATION
Indicates that the JMXConnector.CREDENTIALS will be handled by SSL certificate based authentication.
See Also:

CUSTOM_SSLSOCKETFACTORY

  1. static final java.lang.String CUSTOM_SSLSOCKETFACTORY
Indicates that all JMX connections will use the specified SSLSocketFactory
See Also:

WLM_ENDPOINTS

  1. 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 example code would establish the avialable 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: