com.sun.enterprise.ee.cms.core
Enum ServiceProviderConfigurationKeys

java.lang.Object
  extended by java.lang.Enum<ServiceProviderConfigurationKeys>
      extended by com.sun.enterprise.ee.cms.core.ServiceProviderConfigurationKeys
All Implemented Interfaces:
Serializable, Comparable<ServiceProviderConfigurationKeys>

public enum ServiceProviderConfigurationKeys
extends Enum<ServiceProviderConfigurationKeys>

Provides the keys that correspond to properties within group communication providers that can be configured. Note that this is not exhaustive enough to cover all possible configurations in different group communication libraries.

Author:
Shreedhar Ganapathy

Enum Constant Summary
BIND_INTERFACE_ADDRESS
          If you wish to specify a particular network interface that should be used for all group communication messages, use this key and specify an interface address.
DISCOVERY_TIMEOUT
          The timeout in milliseconds that each member would wait to discover a group leader.
FAILURE_DETECTION_RETRIES
          Number of periodic heartbeats than can be missed in order to be determined a suspected failure.
FAILURE_DETECTION_TCP_RETRANSMIT_PORT
           This value of this key is a port common to all cluster members where a socket will be attempted to be created when a particular instance's configured periodic heartbeats have been missed for the max retry times.
FAILURE_DETECTION_TCP_RETRANSMIT_TIMEOUT
          Maximum time that the health monitoring protocol would wait for a reachability query to block for a response.
FAILURE_DETECTION_TIMEOUT
          The timeout in milliseconds which will be used to send out periodic heartbeats.
FAILURE_VERIFICATION_TIMEOUT
          The timeout in milliseconds which will be used to wait and verify that the suspected member has indeed failed.
IS_BOOTSTRAPPING_NODE
          Represents a key whose value is set to true if this node will be a bootstrapping host for other members to use for discovery purposes.
LOOPBACK
          Setting the value of this key to true, would make all application level messages sent by this member to also be received by this member in addition to the target members to whom the message was sent.
MULTICAST_POOLSIZE
          OPTIONAL: not a meaningful option for all implementations.
MULTICASTADDRESS
          unreserved valid multicast address in the range 224.0.0.0 through 239.255.255.255 See http://www.iana.org/assignments/multicast-addresses for more details on valid addresses.
MULTICASTPORT
          A valid port.
VIRTUAL_MULTICAST_URI_LIST
          This enum represents a key the value of which is a comma separated list of initial bootstrapping tcp addresses.
 
Method Summary
static ServiceProviderConfigurationKeys valueOf(String name)
          Returns the enum constant of this type with the specified name.
static ServiceProviderConfigurationKeys[] values()
          Returns an array containing the constants of this enum type, in the order they're declared.
 
Methods inherited from class java.lang.Enum
clone, compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Enum Constant Detail

MULTICASTADDRESS

public static final ServiceProviderConfigurationKeys MULTICASTADDRESS
unreserved valid multicast address in the range 224.0.0.0 through 239.255.255.255 See http://www.iana.org/assignments/multicast-addresses for more details on valid addresses. If not using multicast, do not specify this property


MULTICASTPORT

public static final ServiceProviderConfigurationKeys MULTICASTPORT
A valid port. If not using multicast, do not specify this property


FAILURE_DETECTION_TIMEOUT

public static final ServiceProviderConfigurationKeys FAILURE_DETECTION_TIMEOUT
The timeout in milliseconds which will be used to send out periodic heartbeats. This is also the period that will be used to check for update to the health state of each member process.


FAILURE_DETECTION_RETRIES

public static final ServiceProviderConfigurationKeys FAILURE_DETECTION_RETRIES
Number of periodic heartbeats than can be missed in order to be determined a suspected failure. Once the retries have been exhausted, a FailureSuspectedNotificationSignal is sent out to all GMS clients who have registered for this event.


FAILURE_VERIFICATION_TIMEOUT

public static final ServiceProviderConfigurationKeys FAILURE_VERIFICATION_TIMEOUT
The timeout in milliseconds which will be used to wait and verify that the suspected member has indeed failed. Once confirmed failed, a FailureNotificationSignal is sent out to all GMS clients who have registered for this event.


DISCOVERY_TIMEOUT

public static final ServiceProviderConfigurationKeys DISCOVERY_TIMEOUT
The timeout in milliseconds that each member would wait to discover a group leader. If no group leader was found within this timeout, the member announces itself as the assumed and assigned group leader.


LOOPBACK

public static final ServiceProviderConfigurationKeys LOOPBACK
Setting the value of this key to true, would make all application level messages sent by this member to also be received by this member in addition to the target members to whom the message was sent.


IS_BOOTSTRAPPING_NODE

public static final ServiceProviderConfigurationKeys IS_BOOTSTRAPPING_NODE
Represents a key whose value is set to true if this node will be a bootstrapping host for other members to use for discovery purposes. This is particularly useful when multicast traffic is not supported in the network or cluster members are located outside a multicast supported network area. Setting the value of this to true requires specifying a URI corresponding to this member process's IP address and port with tcp protocol, as a value in the VIRTUAL_MULTICAST_URI_LIST property. See below for the VIRTUAL_MULTICAST_URI_LIST property


VIRTUAL_MULTICAST_URI_LIST

public static final ServiceProviderConfigurationKeys VIRTUAL_MULTICAST_URI_LIST
This enum represents a key the value of which is a comma separated list of initial bootstrapping tcp addresses. This address list must be specified on all members of the cluster through this property.

Typically an address uri would be specified as tcp://ipaddress:port

The port here could be any available unoccupied port.
Specifying this list is helpful particularly when cluster members are located beyond one subnet or multicast traffic is disabled. Note: The implementation in Shoal at the moment only uses the first address in this list and ignores the rest. This is an enhancement that is not yet completed.


BIND_INTERFACE_ADDRESS

public static final ServiceProviderConfigurationKeys BIND_INTERFACE_ADDRESS
If you wish to specify a particular network interface that should be used for all group communication messages, use this key and specify an interface address. This is the address which Shoal would pass down to a service provider such as Jxta to bind to for communication.


FAILURE_DETECTION_TCP_RETRANSMIT_TIMEOUT

public static final ServiceProviderConfigurationKeys FAILURE_DETECTION_TCP_RETRANSMIT_TIMEOUT
Maximum time that the health monitoring protocol would wait for a reachability query to block for a response. After this time expires, the health monitoring protocol would report a failure based on the fact that an endpoint was unreachable for this length of time.
Specifying this property is typically helpful in determining hardware and network failures within a shorter time period than the OS/System configured TCP retransmission timeout. On many OSs, the TCP retransmission timeout is about 10 minutes.

The default timeout for this property is set to 30 seconds.

As an example, let's take the case of 2 machines A and B hosting instances X and Y, respectively. Machine B goes down due to a power outage or a hardware failure.

Under normal circumstances, Instance X on machine A would not know of the unavailability of Instance X on Machine B until the TCP retransmission timeout (typically 10 minutes) has passed. By setting this property's value to some lower time threshold, instance X would determine Y's failure due to Machine B's failure, a lot earlier.

Related to this key is the FAILURE_DETECTION_TCP_RETRANSMIT_PORT. See below


FAILURE_DETECTION_TCP_RETRANSMIT_PORT

public static final ServiceProviderConfigurationKeys FAILURE_DETECTION_TCP_RETRANSMIT_PORT

This value of this key is a port common to all cluster members where a socket will be attempted to be created when a particular instance's configured periodic heartbeats have been missed for the max retry times. The port number specified should be an available unoccupied port on all machines involved in the cluster. If the socket creation attempt blocks for the above-mentioned FAILURE_DETECTION_TCP_RETRANSMIT_TIMEOUT, then the health monitoring protocol would return a failure event.


MULTICAST_POOLSIZE

public static final ServiceProviderConfigurationKeys MULTICAST_POOLSIZE

OPTIONAL: not a meaningful option for all implementations. Specify the max number of threads allocated to run handlers for incoming multicast messages.

Method Detail

values

public static final ServiceProviderConfigurationKeys[] values()
Returns an array containing the constants of this enum type, in the order they're declared. This method may be used to iterate over the constants as follows:
for(ServiceProviderConfigurationKeys c : ServiceProviderConfigurationKeys.values())
        System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they're declared

valueOf

public static ServiceProviderConfigurationKeys valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
name - the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
IllegalArgumentException - if this enum type has no constant with the specified name


Copyright © 2003 Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.