org.wildfly.swarm.config.undertow.configuration

## Class ModCluster<T extends ModCluster<T>>

- java.lang.Object
- - org.wildfly.swarm.config.undertow.configuration.ModCluster<T>

-     public class ModCluster<T extends ModCluster<T>>
      extends Object

  A mod-cluster front end load balancer

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `ModCluster.FailoverStrategy`
    `static class` | `ModCluster.ModClusterResources` Child mutators for ModCluster

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ModCluster(String key)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addPropertyChangeListener(PropertyChangeListener listener)` Adds a property change listener
    `Integer` | `advertiseFrequency()` The frequency (in milliseconds) that mod-cluster advertises itself on the network
    `T` | `advertiseFrequency(Integer value)` The frequency (in milliseconds) that mod-cluster advertises itself on the network
    `String` | `advertisePath()` The path that mod-cluster is registered under.
    `T` | `advertisePath(String value)` The path that mod-cluster is registered under.
    `String` | `advertiseProtocol()` The protocol that is in use.
    `T` | `advertiseProtocol(String value)` The protocol that is in use.
    `String` | `advertiseSocketBinding()` The multicast group and port that is used to advertise.
    `T` | `advertiseSocketBinding(String value)` The multicast group and port that is used to advertise.
    `T` | `balancer(Balancer value)` Add the Balancer object to the list of subresources
    `T` | `balancer(BalancerSupplier supplier)` Install a supplied Balancer object to the list of subresources
    `T` | `balancer(String childKey)` Create and configure a Balancer object to the list of subresources
    `T` | `balancer(String childKey, BalancerConsumer consumer)` Create and configure a Balancer object to the list of subresources
    `T` | `balancers(List<Balancer> value)` Add all Balancer objects to this subresource
    `Integer` | `brokenNodeTimeout()` The amount of time that must elapse before a broken node is removed from the table
    `T` | `brokenNodeTimeout(Integer value)` The amount of time that must elapse before a broken node is removed from the table
    `Integer` | `cachedConnectionsPerThread()` The number of connections that will be kept alive indefinitely
    `T` | `cachedConnectionsPerThread(Integer value)` The number of connections that will be kept alive indefinitely
    `Integer` | `connectionIdleTimeout()` The amount of time a connection can be idle before it will be closed.
    `T` | `connectionIdleTimeout(Integer value)` The amount of time a connection can be idle before it will be closed.
    `Integer` | `connectionsPerThread()` The number of connections that will be maintained to backend servers, per IO thread.
    `T` | `connectionsPerThread(Integer value)` The number of connections that will be maintained to backend servers, per IO thread.
    `Boolean` | `enableHttp2()` If the load balancer should attempt to upgrade back end connections to HTTP2.
    `T` | `enableHttp2(Boolean value)` If the load balancer should attempt to upgrade back end connections to HTTP2.
    `ModCluster.FailoverStrategy` | `failoverStrategy()` Determines how a failover node is chosen, in the event that the node to which a session has affinity is not available.
    `T` | `failoverStrategy(ModCluster.FailoverStrategy value)` Determines how a failover node is chosen, in the event that the node to which a session has affinity is not available.
    `String` | `getKey()`
    `Integer` | `healthCheckInterval()` The frequency of health check pings to backend nodes
    `T` | `healthCheckInterval(Integer value)` The frequency of health check pings to backend nodes
    `Boolean` | `http2EnablePush()` If push should be enabled for HTTP/2 connections
    `T` | `http2EnablePush(Boolean value)` If push should be enabled for HTTP/2 connections
    `Integer` | `http2HeaderTableSize()` The size of the header table used for HPACK compression, in bytes.
    `T` | `http2HeaderTableSize(Integer value)` The size of the header table used for HPACK compression, in bytes.
    `Integer` | `http2InitialWindowSize()` The flow control window size that controls how quickly the client can send data to the server
    `T` | `http2InitialWindowSize(Integer value)` The flow control window size that controls how quickly the client can send data to the server
    `Integer` | `http2MaxConcurrentStreams()` The maximum number of HTTP/2 streams that can be active at any time on a single connection
    `T` | `http2MaxConcurrentStreams(Integer value)` The maximum number of HTTP/2 streams that can be active at any time on a single connection
    `Integer` | `http2MaxFrameSize()` The max HTTP/2 frame size
    `T` | `http2MaxFrameSize(Integer value)` The max HTTP/2 frame size
    `Integer` | `http2MaxHeaderListSize()` The maximum size of request headers the server is prepared to accept
    `T` | `http2MaxHeaderListSize(Integer value)` The maximum size of request headers the server is prepared to accept
    `String` | `managementAccessPredicate()` A predicate that is applied to incoming requests to determine if they can perform mod cluster management commands.
    `T` | `managementAccessPredicate(String value)` A predicate that is applied to incoming requests to determine if they can perform mod cluster management commands.
    `String` | `managementSocketBinding()` The socket binding of the mod_cluster management address and port.
    `T` | `managementSocketBinding(String value)` The socket binding of the mod_cluster management address and port.
    `Integer` | `maxAjpPacketSize()` The maximum size for AJP packets.
    `T` | `maxAjpPacketSize(Integer value)` The maximum size for AJP packets.
    `Integer` | `maxRequestTime()` The max amount of time that a request to a backend node can take before it is killed
    `T` | `maxRequestTime(Integer value)` The max amount of time that a request to a backend node can take before it is killed
    `Integer` | `maxRetries()` The number of times to attempt to retry a request if it fails.
    `T` | `maxRetries(Integer value)` The number of times to attempt to retry a request if it fails.
    `void` | `removePropertyChangeListener(PropertyChangeListener listener)` Removes a property change listener
    `Integer` | `requestQueueSize()` The number of requests that can be queued if the connection pool is full before requests are rejected with a 503
    `T` | `requestQueueSize(Integer value)` The number of requests that can be queued if the connection pool is full before requests are rejected with a 503
    `String` | `securityKey()` The security key that is used for the mod-cluster group.
    `T` | `securityKey(String value)` The security key that is used for the mod-cluster group.
    `String` | `securityRealm()` The security realm that provides the SSL configuration
    `T` | `securityRealm(String value)` The security realm that provides the SSL configuration
    `String` | `sslContext()` Reference to the SSLContext to be used by this filter.
    `T` | `sslContext(String value)` Reference to the SSLContext to be used by this filter.
    `ModCluster.ModClusterResources` | `subresources()`
    `Boolean` | `useAlias()` If an alias check is performed
    `T` | `useAlias(Boolean value)` If an alias check is performed
    `String` | `worker()` The XNIO worker that is used to send the advertise notifications
    `T` | `worker(String value)` The XNIO worker that is used to send the advertise notifications

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ModCluster

          public ModCluster(String key)

  - ### Method Detail

    - #### getKey

          public String getKey()

    - #### addPropertyChangeListener

          public void addPropertyChangeListener(PropertyChangeListener listener)

      Adds a property change listener

    - #### removePropertyChangeListener

          public void removePropertyChangeListener(PropertyChangeListener listener)

      Removes a property change listener

    - #### subresources

          public ModCluster.ModClusterResources subresources()

    - #### balancers

          public T balancers(List<Balancer> value)

      Add all Balancer objects to this subresource
      Parameters:
        `value` - List of Balancer objects.
      Returns:
        this

    - #### balancer

          public T balancer(Balancer value)

      Add the Balancer object to the list of subresources
      Parameters:
        `value` - The Balancer to add
      Returns:
        this

    - #### balancer

          public T balancer(String childKey,
                            BalancerConsumer consumer)

      Create and configure a Balancer object to the list of subresources
      Parameters:
        `key` - The key for the Balancer resource
        `config` - The BalancerConsumer to use
      Returns:
        this

    - #### balancer

          public T balancer(String childKey)

      Create and configure a Balancer object to the list of subresources
      Parameters:
        `key` - The key for the Balancer resource
      Returns:
        this

    - #### balancer

          public T balancer(BalancerSupplier supplier)

      Install a supplied Balancer object to the list of subresources

    - #### advertiseFrequency

          public Integer advertiseFrequency()

      The frequency (in milliseconds) that mod-cluster advertises itself on the network

    - #### advertiseFrequency

          public T advertiseFrequency(Integer value)

      The frequency (in milliseconds) that mod-cluster advertises itself on the network

    - #### advertisePath

          public String advertisePath()

      The path that mod-cluster is registered under.

    - #### advertisePath

          public T advertisePath(String value)

      The path that mod-cluster is registered under.

    - #### advertiseProtocol

          public String advertiseProtocol()

      The protocol that is in use.

    - #### advertiseProtocol

          public T advertiseProtocol(String value)

      The protocol that is in use.

    - #### advertiseSocketBinding

          public String advertiseSocketBinding()

      The multicast group and port that is used to advertise.

    - #### advertiseSocketBinding

          public T advertiseSocketBinding(String value)

      The multicast group and port that is used to advertise.

    - #### brokenNodeTimeout

          public Integer brokenNodeTimeout()

      The amount of time that must elapse before a broken node is removed from the table

    - #### brokenNodeTimeout

          public T brokenNodeTimeout(Integer value)

      The amount of time that must elapse before a broken node is removed from the table

    - #### cachedConnectionsPerThread

          public Integer cachedConnectionsPerThread()

      The number of connections that will be kept alive indefinitely

    - #### cachedConnectionsPerThread

          public T cachedConnectionsPerThread(Integer value)

      The number of connections that will be kept alive indefinitely

    - #### connectionIdleTimeout

          public Integer connectionIdleTimeout()

      The amount of time a connection can be idle before it will be closed. Connections will not time out once the pool size is down to the configured minimum (as configured by cached-connections-per-thread)

    - #### connectionIdleTimeout

          public T connectionIdleTimeout(Integer value)

      The amount of time a connection can be idle before it will be closed. Connections will not time out once the pool size is down to the configured minimum (as configured by cached-connections-per-thread)

    - #### connectionsPerThread

          public Integer connectionsPerThread()

      The number of connections that will be maintained to backend servers, per IO thread.

    - #### connectionsPerThread

          public T connectionsPerThread(Integer value)

      The number of connections that will be maintained to backend servers, per IO thread.

    - #### enableHttp2

          public Boolean enableHttp2()

      If the load balancer should attempt to upgrade back end connections to HTTP2. If HTTP2 is not supported HTTP or HTTPS will be used as normal

    - #### enableHttp2

          public T enableHttp2(Boolean value)

      If the load balancer should attempt to upgrade back end connections to HTTP2. If HTTP2 is not supported HTTP or HTTPS will be used as normal

    - #### failoverStrategy

          public ModCluster.FailoverStrategy failoverStrategy()

      Determines how a failover node is chosen, in the event that the node to which a session has affinity is not available.

    - #### failoverStrategy

          public T failoverStrategy(ModCluster.FailoverStrategy value)

      Determines how a failover node is chosen, in the event that the node to which a session has affinity is not available.

    - #### healthCheckInterval

          public Integer healthCheckInterval()

      The frequency of health check pings to backend nodes

    - #### healthCheckInterval

          public T healthCheckInterval(Integer value)

      The frequency of health check pings to backend nodes

    - #### http2EnablePush

          public Boolean http2EnablePush()

      If push should be enabled for HTTP/2 connections

    - #### http2EnablePush

          public T http2EnablePush(Boolean value)

      If push should be enabled for HTTP/2 connections

    - #### http2HeaderTableSize

          public Integer http2HeaderTableSize()

      The size of the header table used for HPACK compression, in bytes. This amount of memory will be allocated per connection for compression. Larger values use more memory but may give better compression.

    - #### http2HeaderTableSize

          public T http2HeaderTableSize(Integer value)

      The size of the header table used for HPACK compression, in bytes. This amount of memory will be allocated per connection for compression. Larger values use more memory but may give better compression.

    - #### http2InitialWindowSize

          public Integer http2InitialWindowSize()

      The flow control window size that controls how quickly the client can send data to the server

    - #### http2InitialWindowSize

          public T http2InitialWindowSize(Integer value)

      The flow control window size that controls how quickly the client can send data to the server

    - #### http2MaxConcurrentStreams

          public Integer http2MaxConcurrentStreams()

      The maximum number of HTTP/2 streams that can be active at any time on a single connection

    - #### http2MaxConcurrentStreams

          public T http2MaxConcurrentStreams(Integer value)

      The maximum number of HTTP/2 streams that can be active at any time on a single connection

    - #### http2MaxFrameSize

          public Integer http2MaxFrameSize()

      The max HTTP/2 frame size

    - #### http2MaxFrameSize

          public T http2MaxFrameSize(Integer value)

      The max HTTP/2 frame size

    - #### http2MaxHeaderListSize

          public Integer http2MaxHeaderListSize()

      The maximum size of request headers the server is prepared to accept

    - #### http2MaxHeaderListSize

          public T http2MaxHeaderListSize(Integer value)

      The maximum size of request headers the server is prepared to accept

    - #### managementAccessPredicate

          public String managementAccessPredicate()

      A predicate that is applied to incoming requests to determine if they can perform mod cluster management commands. Provides additional security on top of what is provided by limiting management to requests that originate from the management-socket-binding

    - #### managementAccessPredicate

          public T managementAccessPredicate(String value)

      A predicate that is applied to incoming requests to determine if they can perform mod cluster management commands. Provides additional security on top of what is provided by limiting management to requests that originate from the management-socket-binding

    - #### managementSocketBinding

          public String managementSocketBinding()

      The socket binding of the mod_cluster management address and port. When using mod_cluster two HTTP listeners should be defined, a public one to handle requests, and one bound to the internal network to handle mod cluster commands. This socket binding should correspond to the internal listener, and should not be publicly accessible.

    - #### managementSocketBinding

          public T managementSocketBinding(String value)

      The socket binding of the mod_cluster management address and port. When using mod_cluster two HTTP listeners should be defined, a public one to handle requests, and one bound to the internal network to handle mod cluster commands. This socket binding should correspond to the internal listener, and should not be publicly accessible.

    - #### maxAjpPacketSize

          public Integer maxAjpPacketSize()

      The maximum size for AJP packets. Increasing this will allow AJP to work for requests/responses that have a large amount of headers. This is an advanced option, and must be the same between load balancers and backend servers.

    - #### maxAjpPacketSize

          public T maxAjpPacketSize(Integer value)

      The maximum size for AJP packets. Increasing this will allow AJP to work for requests/responses that have a large amount of headers. This is an advanced option, and must be the same between load balancers and backend servers.

    - #### maxRequestTime

          public Integer maxRequestTime()

      The max amount of time that a request to a backend node can take before it is killed

    - #### maxRequestTime

          public T maxRequestTime(Integer value)

      The max amount of time that a request to a backend node can take before it is killed

    - #### maxRetries

          public Integer maxRetries()

      The number of times to attempt to retry a request if it fails. Note that if a request is not considered idempotent then it will only be retried if the proxy can be sure it was not sent to the backend server).

    - #### maxRetries

          public T maxRetries(Integer value)

      The number of times to attempt to retry a request if it fails. Note that if a request is not considered idempotent then it will only be retried if the proxy can be sure it was not sent to the backend server).

    - #### requestQueueSize

          public Integer requestQueueSize()

      The number of requests that can be queued if the connection pool is full before requests are rejected with a 503

    - #### requestQueueSize

          public T requestQueueSize(Integer value)

      The number of requests that can be queued if the connection pool is full before requests are rejected with a 503

    - #### securityKey

          public String securityKey()

      The security key that is used for the mod-cluster group. All members must use the same security key.

    - #### securityKey

          public T securityKey(String value)

      The security key that is used for the mod-cluster group. All members must use the same security key.

    - #### securityRealm

          public String securityRealm()

      The security realm that provides the SSL configuration

    - #### securityRealm

          public T securityRealm(String value)

      The security realm that provides the SSL configuration

    - #### sslContext

          public String sslContext()

      Reference to the SSLContext to be used by this filter.

    - #### sslContext

          public T sslContext(String value)

      Reference to the SSLContext to be used by this filter.

    - #### useAlias

          public Boolean useAlias()

      If an alias check is performed

    - #### useAlias

          public T useAlias(Boolean value)

      If an alias check is performed

    - #### worker

          public String worker()

      The XNIO worker that is used to send the advertise notifications

    - #### worker

          public T worker(String value)

      The XNIO worker that is used to send the advertise notifications

Copyright © 2018 JBoss by Red Hat. All rights reserved.