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
-
-
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()ConfigurationgetConf()longgetConnectionRequests()longgetIdleConnections()InternalPoolConnectiongetPoolConnection()Retrieve new connection.InternalPoolConnectiongetPoolConnection(String username, String password)Get new connection from pool if user and password correspond to pool.StringgetPoolTag()longgetTotalConnections()List<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 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- usernamepassword- password- Returns:
- connection
- Throws:
SQLException- if any error occur during connection
-
getConf
public Configuration getConf()
-
close
public void close()
Close pool and underlying connections.- Specified by:
closein interfaceAutoCloseable- Throws:
Exception- if interrupted
-
getPoolTag
public String getPoolTag()
-
getActiveConnections
public long getActiveConnections()
- Specified by:
getActiveConnectionsin interfacePoolMBean
-
getTotalConnections
public long getTotalConnections()
- Specified by:
getTotalConnectionsin interfacePoolMBean
-
getIdleConnections
public long getIdleConnections()
- Specified by:
getIdleConnectionsin interfacePoolMBean
-
getConnectionRequests
public long getConnectionRequests()
- Specified by:
getConnectionRequestsin interfacePoolMBean
-
-