Class FixedChannelPool

  • All Implemented Interfaces:
    ChannelPool, java.io.Closeable, java.lang.AutoCloseable

    public class FixedChannelPool
    extends SimpleChannelPool
    ChannelPool implementation that takes another ChannelPool implementation and enforce a maximum number of concurrent connections.
    • Constructor Detail

      • FixedChannelPool

        public FixedChannelPool​(Bootstrap bootstrap,
                                ChannelPoolHandler handler,
                                int maxConnections)
        Creates a new instance using the ChannelHealthChecker.ACTIVE.
        Parameters:
        bootstrap - the Bootstrap that is used for connections
        handler - the ChannelPoolHandler that will be notified for the different pool actions
        maxConnections - the number of maximal active connections, once this is reached new tries to acquire a Channel will be delayed until a connection is returned to the pool again.
      • FixedChannelPool

        public FixedChannelPool​(Bootstrap bootstrap,
                                ChannelPoolHandler handler,
                                int maxConnections,
                                int maxPendingAcquires)
        Creates a new instance using the ChannelHealthChecker.ACTIVE.
        Parameters:
        bootstrap - the Bootstrap that is used for connections
        handler - the ChannelPoolHandler that will be notified for the different pool actions
        maxConnections - the number of maximal active connections, once this is reached new tries to acquire a Channel will be delayed until a connection is returned to the pool again.
        maxPendingAcquires - the maximum number of pending acquires. Once this is exceed acquire tries will be failed.
      • FixedChannelPool

        public FixedChannelPool​(Bootstrap bootstrap,
                                ChannelPoolHandler handler,
                                ChannelHealthChecker healthCheck,
                                FixedChannelPool.AcquireTimeoutAction action,
                                long acquireTimeoutMillis,
                                int maxConnections,
                                int maxPendingAcquires,
                                boolean releaseHealthCheck)
        Creates a new instance.
        Parameters:
        bootstrap - the Bootstrap that is used for connections
        handler - the ChannelPoolHandler that will be notified for the different pool actions
        healthCheck - the ChannelHealthChecker that will be used to check if a Channel is still healthy when obtain from the ChannelPool
        action - the FixedChannelPool.AcquireTimeoutAction to use or null if non should be used. In this case {@param acquireTimeoutMillis} must be -1.
        acquireTimeoutMillis - the time (in milliseconds) after which an pending acquire must complete or the FixedChannelPool.AcquireTimeoutAction takes place.
        maxConnections - the number of maximal active connections, once this is reached new tries to acquire a Channel will be delayed until a connection is returned to the pool again.
        maxPendingAcquires - the maximum number of pending acquires. Once this is exceed acquire tries will be failed.
        releaseHealthCheck - will check channel health before offering back if this parameter set to true.
      • FixedChannelPool

        public FixedChannelPool​(Bootstrap bootstrap,
                                ChannelPoolHandler handler,
                                ChannelHealthChecker healthCheck,
                                FixedChannelPool.AcquireTimeoutAction action,
                                long acquireTimeoutMillis,
                                int maxConnections,
                                int maxPendingAcquires,
                                boolean releaseHealthCheck,
                                boolean lastRecentUsed)
        Creates a new instance.
        Parameters:
        bootstrap - the Bootstrap that is used for connections
        handler - the ChannelPoolHandler that will be notified for the different pool actions
        healthCheck - the ChannelHealthChecker that will be used to check if a Channel is still healthy when obtain from the ChannelPool
        action - the FixedChannelPool.AcquireTimeoutAction to use or null if non should be used. In this case {@param acquireTimeoutMillis} must be -1.
        acquireTimeoutMillis - the time (in milliseconds) after which an pending acquire must complete or the FixedChannelPool.AcquireTimeoutAction takes place.
        maxConnections - the number of maximal active connections, once this is reached new tries to acquire a Channel will be delayed until a connection is returned to the pool again.
        maxPendingAcquires - the maximum number of pending acquires. Once this is exceed acquire tries will be failed.
        releaseHealthCheck - will check channel health before offering back if this parameter set to true.
        lastRecentUsed - true Channel selection will be LIFO, if false FIFO.