Class MultiEndpointPool.Builder<E>

    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • connectorHandler

        @Deprecated
        public MultiEndpointPool.Builder<E> connectorHandler​(org.glassfish.grizzly.ConnectorHandler<E> defaultConnectorHandler)
        Deprecated.
        Endpoint must always know how to establish the connection
        Sets the default ConnectorHandler to be used to establish new Connections if none is specified by Endpoint.
        Parameters:
        defaultConnectorHandler - ConnectorHandler
        Returns:
        this MultiEndpointPool.Builder
      • maxConnectionsPerEndpoint

        public MultiEndpointPool.Builder<E> maxConnectionsPerEndpoint​(int maxConnectionsPerEndpoint)
        Sets the maximum number of Connections to a single endpoint the pool is allowed to have. Default value is 2.
        Parameters:
        maxConnectionsPerEndpoint -
        Returns:
        this MultiEndpointPool.Builder
      • maxConnectionsTotal

        public MultiEndpointPool.Builder<E> maxConnectionsTotal​(int maxConnectionsTotal)
        Sets the maximum number of Connections the pool is allowed to have. Default value is 16.
        Parameters:
        maxConnectionsTotal -
        Returns:
        this MultiEndpointPool.Builder
      • delayExecutor

        public MultiEndpointPool.Builder<E> delayExecutor​(org.glassfish.grizzly.utils.DelayedExecutor delayedExecutor)
        Sets the custom DelayedExecutor to be used for keep-alive and reconnect mechanisms. If none is set - the SingleEndpointPool will create its own DelayedExecutor.
        Parameters:
        delayedExecutor -
        Returns:
        this MultiEndpointPool.Builder
      • connectTimeout

        public MultiEndpointPool.Builder<E> connectTimeout​(long connectTimeout,
                                                           TimeUnit timeunit)
        Sets the max time Connection connect operation may take. If timeout expires - the connect operation is considered failed. If connectTimeout < 0 - the connect timeout mechanism will be disabled. By default the connect timeout mechanism is disabled.
        Parameters:
        connectTimeout - the max time Connection connect operation may take. If timeout expires - the connect operation is considered failed. The negative value disables the connect timeout mechanism.
        timeunit - a TimeUnit determining how to interpret the timeout parameter
        Returns:
        this MultiEndpointPool.Builder
      • reconnectDelay

        public MultiEndpointPool.Builder<E> reconnectDelay​(long reconnectDelay,
                                                           TimeUnit timeunit)
        Sets the delay to be used before the pool will repeat the attempt to connect to the endpoint after previous connect operation had failed. If reconnectDelay < 0 - the reconnect mechanism will be disabled. By default the reconnect mechanism is disabled.
        Parameters:
        reconnectDelay - the delay to be used before the pool will repeat the attempt to connect to the endpoint after previous connect operation had failed. The negative value disables the reconnect mechanism.
        timeunit - a TimeUnit determining how to interpret the timeout parameter
        Returns:
        this MultiEndpointPool.Builder
      • maxReconnectAttempts

        public MultiEndpointPool.Builder<E> maxReconnectAttempts​(int maxReconnectAttempts)
        If the reconnect mechanism is enabled, then this property will affect how many times a reconnection attempt can be made consecutively before a failure is flagged.
        Parameters:
        maxReconnectAttempts - the maximum number of reconnect attempts. If the reconnect mechanism isn't enabled, this property is ignored.
        Returns:
        this MultiEndpointPool.Builder
      • asyncPollTimeout

        public MultiEndpointPool.Builder<E> asyncPollTimeout​(long asyncPollTimeout,
                                                             TimeUnit timeunit)
        Sets the max time consumer will wait for a Connection to become available. When timeout expires the consumer will be notified about the failure (TimeoutException) via CompletionHandler or Future. If asyncPollTimeout < 0 - timeout will not be set. By default the timeout is not set and consumer may wait forever for a Connection.
        Parameters:
        asyncPollTimeout - the maximum time, the async poll operation could wait for a connection to become available
        timeunit - a TimeUnit determining how to interpret the timeout parameter
        Returns:
        this MultiEndpointPool.Builder
      • connectionTTL

        public MultiEndpointPool.Builder<E> connectionTTL​(long connectionTTL,
                                                          TimeUnit timeunit)
        Sets the max amount of time a Connection could be associated with the pool. Once timeout expired the Connection will be either closed, if it's idle, or detached from the pool, if it's being used. If connectionTTL < 0 - the Connection time to live will not be set and the Connection can be associated with a pool forever, if no other limit is hit (like keep-alive). By default the connectionTTL is not set.
        Parameters:
        connectionTTL - the max amount of time a Connection could be associated with the pool
        timeunit - a TimeUnit determining how to interpret the connectionTTL parameter
        Returns:
        this MultiEndpointPool.Builder
      • failFastWhenMaxSizeReached

        public MultiEndpointPool.Builder<E> failFastWhenMaxSizeReached​(boolean failFastWhenMaxSizeReached)
        if true, the "take" method will fail fast if there is no free connection in the pool and max pool size is reached. Otherwise the pool will queue up the take request and wait for a Connection to become available
        Parameters:
        failFastWhenMaxSizeReached -
        Returns:
        this MultiEndpointPool.Builder
      • keepAliveTimeout

        public MultiEndpointPool.Builder<E> keepAliveTimeout​(long keepAliveTimeout,
                                                             TimeUnit timeunit)
        Sets the maximum number of milliseconds an idle Connection will be kept in the pool. The idle Connections will be closed till the pool size is greater than corePoolSize. If keepAliveTimeout < 0 - the keep-alive mechanism will be disabled. By default the keep-alive timeout is set to 30 seconds.
        Parameters:
        keepAliveTimeout - the maximum number of milliseconds an idle Connection will be kept in the pool. The negative value disables the keep-alive mechanism.
        timeunit - a TimeUnit determining how to interpret the timeout parameter
        Returns:
        this MultiEndpointPool.Builder
      • keepAliveCheckInterval

        public MultiEndpointPool.Builder<E> keepAliveCheckInterval​(long keepAliveCheckInterval,
                                                                   TimeUnit timeunit)
        Sets the interval, which specifies how often the pool will perform idle Connections check.
        Parameters:
        keepAliveCheckInterval - the interval, which specifies how often the pool will perform idle Connections check
        timeunit - a TimeUnit determining how to interpret the timeout parameter
        Returns:
        this MultiEndpointPool.Builder