Package org.mariadb.jdbc.pool
Class Pool
- java.lang.Object
-
- org.mariadb.jdbc.pool.Pool
-
- All Implemented Interfaces:
AutoCloseable,PoolMBean
public class Pool extends Object implements AutoCloseable, PoolMBean
MariaDB Pool
-
-
Constructor Summary
Constructors Constructor Description Pool(Configuration conf, int poolIndex, ScheduledThreadPoolExecutor poolExecutor)Create pool from configuration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Close pool and underlying connections.longgetActiveConnections()get pool active connection numberConfigurationgetConf()Get current configurationlonggetConnectionRequests()get connection waiting request numberlonggetIdleConnections()get idle connection numberMariaDbInnerPoolConnectiongetPoolConnection()Retrieve new connection.MariaDbInnerPoolConnectiongetPoolConnection(String username, String password)Get new connection from pool if user and password correspond to pool.StringgetPoolTag()return pool taglonggetTotalConnections()get pool total connectionList<Long>testGetConnectionIdleThreadIds()For testing purpose only.
-
-
-
Constructor Detail
-
Pool
public Pool(Configuration conf, int poolIndex, ScheduledThreadPoolExecutor poolExecutor)
Create pool from configuration.- Parameters:
conf- configuration parserpoolIndex- pool index to permit distinction of thread namepoolExecutor- 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- usernamepassword- 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:
closein interfaceAutoCloseable
-
getPoolTag
public String getPoolTag()
return pool tag- Returns:
- pool tag
-
getActiveConnections
public long getActiveConnections()
Description copied from interface:PoolMBeanget pool active connection number- Specified by:
getActiveConnectionsin interfacePoolMBean- Returns:
- pool active connection number
-
getTotalConnections
public long getTotalConnections()
Description copied from interface:PoolMBeanget pool total connection- Specified by:
getTotalConnectionsin interfacePoolMBean- Returns:
- pool total connection number
-
getIdleConnections
public long getIdleConnections()
Description copied from interface:PoolMBeanget idle connection number- Specified by:
getIdleConnectionsin interfacePoolMBean- Returns:
- idle connection number
-
getConnectionRequests
public long getConnectionRequests()
Description copied from interface:PoolMBeanget connection waiting request number- Specified by:
getConnectionRequestsin interfacePoolMBean- Returns:
- request number
-
-