Class FixedChannelPool

    • 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.
    • Method Detail

      • acquiredChannelCount

        public int acquiredChannelCount()
        Returns the number of acquired channels that this pool thinks it has.
      • acquire

        public io.netty.util.concurrent.Future<Channel> acquire​(io.netty.util.concurrent.Promise<Channel> promise)
        Description copied from interface: ChannelPool
        Acquire a Channel from this ChannelPool. The given Promise is notified once the acquire is successful and failed otherwise. Its important that an acquired is always released to the pool again, even if the Channel is explicitly closed..
        Specified by:
        acquire in interface ChannelPool
        Overrides:
        acquire in class SimpleChannelPool
      • closeAsync

        public io.netty.util.concurrent.Future<Void> closeAsync()
        Closes the pool in an async manner.
        Overrides:
        closeAsync in class SimpleChannelPool
        Returns:
        Future which represents completion of the close task