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 MariaDbInnerPoolConnection 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 MariaDbInnerPoolConnection 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
      • getConf

        public Configuration getConf()
        Get current configuration
        Returns:
        configuration
      • close

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

        public String getPoolTag()
        return pool tag
        Returns:
        pool tag
      • getActiveConnections

        public long getActiveConnections()
        Description copied from interface: PoolMBean
        get pool active connection number
        Specified by:
        getActiveConnections in interface PoolMBean
        Returns:
        pool active connection number
      • getTotalConnections

        public long getTotalConnections()
        Description copied from interface: PoolMBean
        get pool total connection
        Specified by:
        getTotalConnections in interface PoolMBean
        Returns:
        pool total connection number
      • getIdleConnections

        public long getIdleConnections()
        Description copied from interface: PoolMBean
        get idle connection number
        Specified by:
        getIdleConnections in interface PoolMBean
        Returns:
        idle connection number
      • getConnectionRequests

        public long getConnectionRequests()
        Description copied from interface: PoolMBean
        get connection waiting request number
        Specified by:
        getConnectionRequests in interface PoolMBean
        Returns:
        request number
      • testGetConnectionIdleThreadIds

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