Class Pool

    • Constructor Detail

      • Pool

        public Pool​(Configuration conf,
                    int poolIndex,
                    ScheduledThreadPoolExecutor poolExecutor)
        Create pool from configuration.
        Parameters:
        conf - configuration parser
        poolIndex - pool index to permit distinction of thread name
        poolExecutor - pools common executor
    • Method Detail

      • getPoolConnection

        public InternalPoolConnection getPoolConnection()
                                                 throws SQLException
        Retrieve new connection. If possible return idle connection, if not, stack connection query, ask for a connection creation, and loop until a connection become idle / a new connection is created.
        Returns:
        a connection object
        Throws:
        SQLException - if no connection is created when reaching timeout (connectTimeout option)
      • getPoolConnection

        public InternalPoolConnection getPoolConnection​(String username,
                                                        String password)
                                                 throws SQLException
        Get new connection from pool if user and password correspond to pool. If username and password are different from pool, will return a dedicated connection.
        Parameters:
        username - username
        password - password
        Returns:
        connection
        Throws:
        SQLException - if any error occur during connection
      • close

        public void close()
        Close pool and underlying connections.
        Specified by:
        close in interface AutoCloseable
      • getPoolTag

        public String getPoolTag()
      • testGetConnectionIdleThreadIds

        public List<Long> testGetConnectionIdleThreadIds()
        For testing purpose only.
        Returns:
        current thread id's