BEA Systems, Inc.

WebLogic Server 8.1 API Reference

weblogic.management.configuration
Interface ClusterMBean


public interface ClusterMBean
extends TargetMBean

This bean represents a cluster in the domain. Servers join a cluster by calling ServerMBean.setCluster with the logical name of the cluster. A configuration may define zero or more clusters. They may be looked up by logical name. The name of a cluster denotes its logical cluster name.

Author:
Copyright © 2004 BEA Systems, Inc. All Rights Reserved.

Fields inherited from class weblogic.management.configuration.TargetMBean
CACHING_STUB_SVUID
 
Fields inherited from class weblogic.management.configuration.ConfigurationMBean
CACHING_STUB_SVUID, DEFAULT_EMPTY_BYTE_ARRAY
 
Method Summary
 java.lang.String getClusterAddress()
          Defines the address to be used by clients to connect to this cluster.
 java.lang.String getDefaultLoadAlgorithm()
          Defines the algorithm to be used for load-balancing between replicated services if none is specified for a particular service.
 java.lang.String getFrontendHost()
          Sets the HTTP FrontendHost for the default webserver (not virtual hosts) for all the servers in the cluster.
 int getFrontendHTTPPort()
          Sets the FrontendHTTPPort for the default webserver (not virtual hosts) for all the servers in the cluster.
 int getFrontendHTTPSPort()
          Sets the FrontendHTTPSPort for the default webserver (not virtual hosts) for all the servers in the cluster.
 int getIdlePeriodsUntilTimeout()
          Maximum number of periods that a cluster member will wait before timing out a member of a cluster.
 java.lang.String getMulticastAddress()
          Defines the multicast address used by cluster members to communicate with each other.
 int getMulticastBufferSize()
          Returns the multicast socket send/receive buffer size.
 boolean getMulticastDataEncryption()
          Servers in a cluster send multicast messages.
 int getMulticastPort()
          Defines the multicast port used by cluster members to communicate with each other.
 int getMulticastSendDelay()
          Defines the number of milliseconds to delay sending message fragments over multicast in order to avoid OS-level buffer overflow.
 int getMulticastTTL()
          Defines the number of network hops that a cluster multicast message is allowed to travel.
 ServerMBean[] getServers()
          The servers which have declared membership in this cluster.
 boolean isClientCertProxyEnabled()
          Gets the clientCertProxyEnabled attribute of the ClusterMBean object
 boolean isHttpTraceSupportEnabled()
           
 boolean isWeblogicPluginEnabled()
          Gets the weblogicPluginEnabled attribute of the ClusterMBean object
 java.util.HashMap kill()
          Used to force a Shutdown of all the servers belonging to the Cluster.
 void setClientCertProxyEnabled(boolean ccp)
          A value of true causes proxy-server plugins to pass identity certificates from clients to all web applications that are deployed on all server instances in the cluster.
 void setClusterAddress(java.lang.String address)
          Sets the cluster's address.
 void setDefaultLoadAlgorithm(java.lang.String value)
          Sets the default load balancing algorithm.
 void setFrontendHost(java.lang.String hostName)
          Sets the FrontendHost attribute of the WebServerMBean object
 void setFrontendHTTPPort(int httpPort)
          Sets the FrontendHTTPPort attribute of the WebServerMBean object
 void setFrontendHTTPSPort(int httpsPort)
          Sets the FrontendHTTPSPort attribute of the WebServerMBean object
 void setHttpTraceSupportEnabled(boolean tse)
          Attackers may abuse HTTP TRACE functionality to gain access to information in HTTP headers such as cookies and authentication data.
 void setIdlePeriodsUntilTimeout(int timeout)
          Set the maximum number of periods that a cluster member will wait before timing out a member of a cluster.
 void setMulticastAddress(java.lang.String address)
          Sets the multicast address used by cluster members to communicate with each other.
 void setMulticastBufferSize(int bufSize)
          Defines the multicast socket send/receive buffer size.
 void setMulticastDataEncryption(boolean value)
           
 void setMulticastPort(int port)
          The multicast port used by cluster members to communicate with each other.
 void setMulticastSendDelay(int delay)
          Sets the number of milliseconds to delay sending message fragments over multicast.
 void setMulticastTTL(int ttl)
          Sets the time-to-live value for the cluster's multicast address.
 void setWeblogicPluginEnabled(boolean wpe)
          WLS HttpRequest.getRemoteAddr() used to rely on X-Forwarded-For for its returned value.
 java.util.HashMap start()
          Used to start all the servers belonging to the Cluster.
 
Methods inherited from interface weblogic.management.configuration.TargetMBean
setDeployments
 
Methods inherited from interface weblogic.management.configuration.ConfigurationMBean
freezeCurrentValue, getNotes, restoreDefaultValue, setComments, setDefaultedMBean, setNotes, setPersistenceEnabled
 
Methods inherited from interface weblogic.management.WebLogicMBean
getMBeanInfo, getName, getObjectName, getParent, getType, isCachingDisabled, isRegistered, setName, setParent
 
Methods inherited from interface javax.management.DynamicMBean
getAttribute, getAttributes, invoke, setAttribute, setAttributes
 
Methods inherited from interface javax.management.MBeanRegistration
postDeregister, postRegister, preRegister
 
Methods inherited from interface javax.management.NotificationBroadcaster
addNotificationListener, getNotificationInfo, removeNotificationListener
 

Method Detail

getServers

public ServerMBean[] getServers()
The servers which have declared membership in this cluster.

Returns:
The servers value

getClusterAddress

public java.lang.String getClusterAddress()
Defines the address to be used by clients to connect to this cluster. This address may be either a DNS host name that maps to multiple IP addresses or a comma separated list of single address host names or IP addresses. If network channels are configured, it is possible to set the cluster address on a per channel basis.

A configurable MBean attribute
Returns:
The clusterAddress value
See Also:
NetworkChannelMBean.getClusterAddress()

setClusterAddress

public void setClusterAddress(java.lang.String address)
                       throws javax.management.InvalidAttributeValueException
Sets the cluster's address.

Parameters:
address - The new clusterAddress value
Throws:
javax.management.InvalidAttributeValueException -  
java.lang.IllegalArgumentException - if the address is not either a well-formed IP address or hostname.
See Also:
getMulticastAddress()

getMulticastAddress

public java.lang.String getMulticastAddress()
Defines the multicast address used by cluster members to communicate with each other.

A configurable MBean attribute
Default Value: "237.0.0.1"
Old Property: weblogic.cluster.multicastAddress
Returns:
The multicastAddress value
See Also:
ServerMBean.getInterfaceAddress(), getMulticastPort()

setMulticastAddress

public void setMulticastAddress(java.lang.String address)
                         throws javax.management.InvalidAttributeValueException
Sets the multicast address used by cluster members to communicate with each other.

Parameters:
address - The new multicastAddress value
Throws:
javax.management.InvalidAttributeValueException -  
java.lang.IllegalArgumentException - if the argument is not a well-formed IP address.
See Also:
ServerMBean.getInterfaceAddress(), setMulticastPort(int)

setMulticastBufferSize

public void setMulticastBufferSize(int bufSize)
Defines the multicast socket send/receive buffer size.

A configurable MBean attribute
Legal Minimum Value: 64
Parameters:
bufSize - The new multicastBufferSize value

getMulticastBufferSize

public int getMulticastBufferSize()
Returns the multicast socket send/receive buffer size.

A configurable MBean attribute
Default Value: 64
Returns:
The multicastBufferSize value

getMulticastPort

public int getMulticastPort()
Defines the multicast port used by cluster members to communicate with each other.

A configurable MBean attribute
Default Value: 7001
Legal Minimum Value: 1
Legal Maximum Value: 65535
Returns:
The multicastPort value
See Also:
setMulticastPort(int), getMulticastAddress()

setMulticastPort

public void setMulticastPort(int port)
                      throws javax.management.InvalidAttributeValueException
The multicast port used by cluster members to communicate with each other.

Legal Minimum Value: 1
Legal Maximum Value: 65535
Parameters:
port - The new multicastPort value
Throws:
javax.management.InvalidAttributeValueException -  
See Also:
getMulticastPort(), setMulticastAddress(java.lang.String)

getMulticastTTL

public int getMulticastTTL()
Defines the number of network hops that a cluster multicast message is allowed to travel. 1 restricts the cluster to one subnet.

A configurable MBean attribute
Default Value: 1
Old Property: weblogic.cluster.multicastTTL
Legal Minimum Value: 1
Legal Maximum Value: 255
Returns:
The multicastTTL value

setMulticastTTL

public void setMulticastTTL(int ttl)
                     throws javax.management.InvalidAttributeValueException
Sets the time-to-live value for the cluster's multicast address.

Legal Minimum Value: 0
Legal Maximum Value: 255
Parameters:
ttl - The new multicastTTL value
Throws:
javax.management.InvalidAttributeValueException -  

getMulticastSendDelay

public int getMulticastSendDelay()
Defines the number of milliseconds to delay sending message fragments over multicast in order to avoid OS-level buffer overflow.

A configurable MBean attribute
Default Value: 3
Legal Minimum Value: 0
Legal Maximum Value: 250
Returns:
The multicastSendDelay value

setMulticastSendDelay

public void setMulticastSendDelay(int delay)
                           throws javax.management.InvalidAttributeValueException
Sets the number of milliseconds to delay sending message fragments over multicast.

Legal Minimum Value: 0
Legal Maximum Value: 100
Parameters:
delay - The new multicastSendDelay value
Throws:
javax.management.InvalidAttributeValueException -  

getDefaultLoadAlgorithm

public java.lang.String getDefaultLoadAlgorithm()
Defines the algorithm to be used for load-balancing between replicated services if none is specified for a particular service.

A configurable MBean attribute
Default Value: "round-robin"
Old Property: weblogic.cluster.defaultLoadAlgorithm
Legal Values: "round-robin","weight-based","random","round-robin-affinity","weight-based-affinity","random-affinity"
Returns:
The defaultLoadAlgorithm value

setDefaultLoadAlgorithm

public void setDefaultLoadAlgorithm(java.lang.String value)
                             throws javax.management.InvalidAttributeValueException
Sets the default load balancing algorithm.

Parameters:
value - The new defaultLoadAlgorithm value
Throws:
javax.management.InvalidAttributeValueException -  
java.lang.IllegalArgumentException - if the value is not a valid algorithm.

start

public java.util.HashMap start()
Used to start all the servers belonging to the Cluster. HashMap contains references to TaskRuntimeMBeans corresponding to each server in the Cluster, keyed using the server name.

Returns:
 

kill

public java.util.HashMap kill()
Used to force a Shutdown of all the servers belonging to the Cluster.

Returns:
 

setClientCertProxyEnabled

public void setClientCertProxyEnabled(boolean ccp)
A value of true causes proxy-server plugins to pass identity certificates from clients to all web applications that are deployed on all server instances in the cluster.

A proxy-server plugin encodes each identify certification in the WL-Proxy-Client-Cert header and passes the header to WebLogic Server instances. Each WebLogic Server instance takes the certificate information from the header, trusting that it came from a secure source, and uses that information to authenticate the user.

If you specify true, use a ConnectionFilter to ensure that each WebLogic Server instance accepts connections only from the machine on which the proxy-server plugin is running. Specifying true without using a connection filter creates a potential security vulnerability because the WL-Proxy-Client-Cert header can be spoofed.

A value of true overrides the value that each server instance within the cluster specifies with ServerMBean.setClientCertProxyEnabled(boolean).

By default (or if you specify false):

Default Value: false
Secure Value:  false
Parameters:
ccp - The new clientCertProxyEnabled value

isClientCertProxyEnabled

public boolean isClientCertProxyEnabled()
Gets the clientCertProxyEnabled attribute of the ClusterMBean object

Returns:
The clientCertProxyEnabled value

setWeblogicPluginEnabled

public void setWeblogicPluginEnabled(boolean wpe)
WLS HttpRequest.getRemoteAddr() used to rely on X-Forwarded-For for its returned value. This is a security hole due to HTTP header can be easily mocked and we end up with returning wrong value. This is improved by introducing a proprietary header WL-Proxy-Client-IP from our plugins and this header will only be used if WLS is configured to use our plugins. This is duplicated both in ClusterMBean and ServerMBean so the attribute WeblogicPluginEnabled can be used cluster-wide. ClusterMBean overrides ServerMBean

Default Value: false
Secure Value:  false
Parameters:
wpe - The new weblogicPluginEnabled value

isWeblogicPluginEnabled

public boolean isWeblogicPluginEnabled()
Gets the weblogicPluginEnabled attribute of the ClusterMBean object

Returns:
The weblogicPluginEnabled value

getIdlePeriodsUntilTimeout

public int getIdlePeriodsUntilTimeout()
Maximum number of periods that a cluster member will wait before timing out a member of a cluster.

Default Value: 3
Returns:
The idlePeriodsUntilTimeout

setIdlePeriodsUntilTimeout

public void setIdlePeriodsUntilTimeout(int timeout)
Set the maximum number of periods that a cluster member will wait before timing out a member of a cluster.

Legal Minimum Value: 3

setHttpTraceSupportEnabled

public void setHttpTraceSupportEnabled(boolean tse)
Attackers may abuse HTTP TRACE functionality to gain access to information in HTTP headers such as cookies and authentication data. In the presence of other cross-domain vulnerabilities in web browsers, sensitive header information could be read from any domains that support the HTTP TRACE method. This attribute is for disabling HTTP TRACE support. It is duplicated both in ClusterMBean and ServerMBean so the attribute HttpTraceSupportEnabled can be used cluster-wide. ClusterMBean overrides ServerMBean

Default Value: false

isHttpTraceSupportEnabled

public boolean isHttpTraceSupportEnabled()


getFrontendHost

public java.lang.String getFrontendHost()
Sets the HTTP FrontendHost for the default webserver (not virtual hosts) for all the servers in the cluster. Provides a method to ensure that the webapp will always have the correct HOST information, even when the request is coming through a firewall or a proxy. If this parameter is configured, the HOST header will be ignored and the information in this parameter will be used in its place, when constructing the absolute urls for redirects.

A configurable MBean attribute
Default Value: null
Returns:
The FrontendHost value
See Also:
WebServerMBean.getFrontendHost()

setFrontendHost

public void setFrontendHost(java.lang.String hostName)
                     throws javax.management.InvalidAttributeValueException
Sets the FrontendHost attribute of the WebServerMBean object

Parameters:
hostName - The new FrontendHost value
Throws:
javax.management.InvalidAttributeValueException -  

getFrontendHTTPPort

public int getFrontendHTTPPort()
Sets the FrontendHTTPPort for the default webserver (not virtual hosts) for all the servers in the cluster. Provides a method to ensure that the webapp will always have the correct PORT information, even when the request is coming through a firewall or a proxy. If this parameter is configured, the HOST header will be ignored and the information in this parameter will be used in its place, when constructing the absolute urls for redirects.

A configurable MBean attribute
Default Value: 0
Returns:
The FrontendHTTPPort value
See Also:
WebServerMBean.getFrontendHTTPPort()

setFrontendHTTPPort

public void setFrontendHTTPPort(int httpPort)
                         throws javax.management.InvalidAttributeValueException
Sets the FrontendHTTPPort attribute of the WebServerMBean object

Parameters:
httpPort - The new FrontendHTTPPort value
Throws:
javax.management.InvalidAttributeValueException -  

getFrontendHTTPSPort

public int getFrontendHTTPSPort()
Sets the FrontendHTTPSPort for the default webserver (not virtual hosts) for all the servers in the cluster. Provides a method to ensure that the webapp will always have the correct PORT information, even when the request is coming through a firewall or a proxy. If this parameter is configured, the HOST header will be ignored and the information in this parameter will be used in its place, when constructing the absolute urls for redirects.

A configurable MBean attribute
Default Value: 0
Returns:
The FrontendHTTPSPort value
See Also:
WebServerMBean.getFrontendHTTPSPort()

setFrontendHTTPSPort

public void setFrontendHTTPSPort(int httpsPort)
                          throws javax.management.InvalidAttributeValueException
Sets the FrontendHTTPSPort attribute of the WebServerMBean object

Parameters:
httpsPort - The new FrontendHTTPSPort value
Throws:
javax.management.InvalidAttributeValueException -  

setMulticastDataEncryption

public void setMulticastDataEncryption(boolean value)


getMulticastDataEncryption

public boolean getMulticastDataEncryption()
Servers in a cluster send multicast messages. A multicast message consists of header information followed by data. Data will be encrypted by enabling multicast data encryption.

A dynamic MBean attribute
Default Value: false
Returns:
true if encryption is enabled, false otherwise

Documentation is available at
http://download.oracle.com/docs/cd/E13222_01/wls/docs81