Class AbstractConnectionPool

    • Method Detail

      • doStop

        protected void doStop()
                       throws java.lang.Exception
        Description copied from class: ContainerLifeCycle
        Stops the managed lifecycle beans in the reverse order they were added.
        Overrides:
        doStop in class ContainerLifeCycle
        Throws:
        java.lang.Exception
      • preCreateConnections

        public java.util.concurrent.CompletableFuture<java.lang.Void> preCreateConnections​(int connectionCount)
        Description copied from interface: ConnectionPool
        Optionally pre-create up to connectionCount connections so they are immediately ready for use.
        Specified by:
        preCreateConnections in interface ConnectionPool
        Parameters:
        connectionCount - the number of connections to pre-start.
      • getMaxMultiplex

        protected int getMaxMultiplex()
      • setMaxMultiplex

        protected void setMaxMultiplex​(int maxMultiplex)
      • getMaxUsageCount

        protected int getMaxUsageCount()
      • setMaxUsageCount

        protected void setMaxUsageCount​(int maxUsageCount)
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface ConnectionPool
        Returns:
        whether this ConnectionPool has no open connections
      • isMaximizeConnections

        @ManagedAttribute("Whether the pool tries to maximize the number of connections used")
        public boolean isMaximizeConnections()
      • setMaximizeConnections

        public void setMaximizeConnections​(boolean maximizeConnections)

        Sets whether the number of connections should be maximized.

        Parameters:
        maximizeConnections - whether the number of connections should be maximized
      • acquire

        public Connection acquire()
        Description copied from interface: ConnectionPool

        Returns an idle connection, if available, or schedules the opening of a new connection and returns null.

        Specified by:
        acquire in interface ConnectionPool
        Returns:
        an available connection, or null
      • acquire

        protected Connection acquire​(boolean create)

        Returns an idle connection, if available; if an idle connection is not available, and the given create parameter is true or isMaximizeConnections() is true, then schedules the opening of a new connection, if possible within the configuration of this connection pool (for example, if it does not exceed the max connection count); otherwise returns null.

        Parameters:
        create - whether to schedule the opening of a connection if no idle connections are available
        Returns:
        an idle connection or null if no idle connections are available
        See Also:
        tryCreate(int)
      • tryCreate

        protected void tryCreate​(int maxPending)

        Schedules the opening of a new connection.

        Whether a new connection is scheduled for opening is determined by the maxPending parameter: if maxPending is greater than the current number of connections scheduled for opening, then this method returns without scheduling the opening of a new connection; if maxPending is negative, a new connection is always scheduled for opening.

        Parameters:
        maxPending - the max desired number of connections scheduled for opening, or a negative number to always trigger the opening of a new connection
      • proceed

        protected void proceed()
      • isActive

        public boolean isActive​(Connection connection)
        Specified by:
        isActive in interface ConnectionPool
        Parameters:
        connection - the connection to test
        Returns:
        whether the given connection is currently in use
      • release

        public boolean release​(Connection connection)
        Description copied from interface: ConnectionPool

        Returns the given connection, previously obtained via ConnectionPool.acquire(), back to this ConnectionPool.

        Specified by:
        release in interface ConnectionPool
        Parameters:
        connection - the connection to release
        Returns:
        true if the connection has been released, false if the connection should be closed
      • deactivate

        protected boolean deactivate​(Connection connection)
      • remove

        public boolean remove​(Connection connection)
        Description copied from interface: ConnectionPool

        Removes the given connection from this ConnectionPool.

        Specified by:
        remove in interface ConnectionPool
        Parameters:
        connection - the connection to remove
        Returns:
        true if the connection was removed from this ConnectionPool
      • remove

        protected boolean remove​(Connection connection,
                                 boolean force)
      • onCreated

        protected void onCreated​(Connection connection)
      • idle

        protected boolean idle​(Connection connection,
                               boolean close)
      • acquired

        protected void acquired​(Connection connection)
      • released

        protected void released​(Connection connection)
      • removed

        protected void removed​(Connection connection)
      • getIdleConnections

        @Deprecated
        public java.util.Queue<Connection> getIdleConnections()
        Deprecated.
        Relying on this method indicates a reliance on the implementation details.
        Returns:
        an unmodifiable queue working as a view of the idle connections.
      • getActiveConnections

        @Deprecated
        public java.util.Collection<Connection> getActiveConnections()
        Deprecated.
        Relying on this method indicates a reliance on the implementation details.
        Returns:
        an unmodifiable collection working as a view of the active connections.
      • close

        public void close()
        Description copied from interface: ConnectionPool
        Closes this ConnectionPool.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in interface ConnectionPool
        See Also:
        ConnectionPool.isClosed()
      • dump

        public void dump​(java.lang.Appendable out,
                         java.lang.String indent)
                  throws java.io.IOException
        Description copied from interface: Dumpable
        Dump this object (and children) into an Appendable using the provided indent after any new lines. The indent should not be applied to the first object dumped.
        Specified by:
        dump in interface Dumpable
        Overrides:
        dump in class ContainerLifeCycle
        Parameters:
        out - The appendable to dump to
        indent - The indent to apply after any new lines.
        Throws:
        java.io.IOException - if unable to write to Appendable
      • sweep

        public boolean sweep()
        Specified by:
        sweep in interface Sweeper.Sweepable
        Returns:
        whether this resource should be swept