Package org.mariadb.jdbc
Class MariaDbPoolDataSource
java.lang.Object
org.mariadb.jdbc.MariaDbPoolDataSource
- All Implemented Interfaces:
Closeable,AutoCloseable,Wrapper,CommonDataSource,ConnectionPoolDataSource,DataSource,XADataSource
public class MariaDbPoolDataSource
extends Object
implements DataSource, ConnectionPoolDataSource, XADataSource, Closeable, AutoCloseable
MariaDB pool datasource. This use mariadb internal pool.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionConstructorConstructor with url -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close datasource.private voidconfig()Attempts to establish a connection with the data source that thisDataSourceobject represents.getConnection(String username, String password) Attempts to establish a connection with the data source that thisDataSourceobject represents.intGets the maximum time in seconds that this data source can wait while attempting to connect to a database.Implementation doesn't use logwriterNot implementedgetPooledConnection(String username, String password) get pool namegetUrl()Returns the URL for this datasourcegetUser()return usergetXAConnection(String username, String password) booleanisWrapperFor(Class<?> iface) Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does.voidsetLoginTimeout(int seconds) Sets the maximum time in seconds that this data source will wait while attempting to connect to a database.voidsetLogWriter(PrintWriter out) Implementation doesn't use logwritervoidsetPassword(String password) set passwordvoidSets the URL for this datasourcevoidSet userGet current idle threads.<T> TReturns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy.
-
Field Details
-
pool
-
conf
-
url
-
user
-
password
-
loginTimeout
-
-
Constructor Details
-
MariaDbPoolDataSource
public MariaDbPoolDataSource()Constructor -
MariaDbPoolDataSource
Constructor with url- Parameters:
url- connection string- Throws:
SQLException- if configuration fails
-
-
Method Details
-
config
- Throws:
SQLException
-
getConnection
Attempts to establish a connection with the data source that thisDataSourceobject represents.- Specified by:
getConnectionin interfaceDataSource- Returns:
- a connection to the data source
- Throws:
SQLException- if a database access error occursSQLTimeoutException- when the driver has determined that the timeout value specified by thesetLoginTimeoutmethod has been exceeded and has at least tried to cancel the current database connection attempt
-
getConnection
Attempts to establish a connection with the data source that thisDataSourceobject represents.- Specified by:
getConnectionin interfaceDataSource- Parameters:
username- the database user on whose behalf the connection is being madepassword- the user's password- Returns:
- a connection to the data source
- Throws:
SQLException- if a database access error occursSQLTimeoutException- when the driver has determined that the timeout value specified by thesetLoginTimeoutmethod has been exceeded and has at least tried to cancel the current database connection attempt
-
unwrap
Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy.If the receiver implements the interface then the result is the receiver or a proxy for the receiver. If the receiver is a wrapper and the wrapped object implements the interface then the result is the wrapped object or a proxy for the wrapped object. Otherwise, return the result of calling
unwraprecursively on the wrapped object or a proxy for that result. If the receiver is not a wrapper and does not implement the interface, then anSQLExceptionis thrown.- Specified by:
unwrapin interfaceWrapper- Parameters:
iface- A Class defining an interface that the result must implement.- Returns:
- an object that implements the interface. Maybe a proxy for the actual implementing object.
- Throws:
SQLException- If no object found that implements the interface
-
isWrapperFor
Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does. Returns false otherwise. If this implements the interface then return true, else if this is a wrapper then return the result of recursively callingisWrapperForon the wrapped object. If this does not implement the interface and is not a wrapper, return false. This method should be implemented as a low-cost operation compared tounwrapso that callers can use this method to avoid expensiveunwrapcalls that may fail. If this method returns true then callingunwrapwith the same argument should succeed.- Specified by:
isWrapperForin interfaceWrapper- Parameters:
iface- a Class defining an interface.- Returns:
- true if this implements the interface or directly or indirectly wraps an object that does.
-
getLogWriter
Implementation doesn't use logwriter- Specified by:
getLogWriterin interfaceCommonDataSource- Returns:
- the log writer for this data source or null if logging is disabled
- See Also:
-
setLogWriter
Implementation doesn't use logwriter- Specified by:
setLogWriterin interfaceCommonDataSource- Parameters:
out- the new log writer; to disable logging, set to null- See Also:
-
getLoginTimeout
public int getLoginTimeout()Gets the maximum time in seconds that this data source can wait while attempting to connect to a database. A value of zero means that the timeout is the default system timeout if there is one; otherwise, it means that there is no timeout. When aDataSourceobject is created, the login timeout is initially to 30s.- Specified by:
getLoginTimeoutin interfaceCommonDataSource- Returns:
- the data source login time limit
- See Also:
-
setLoginTimeout
Sets the maximum time in seconds that this data source will wait while attempting to connect to a database. A value of zero specifies that the timeout is the default system timeout if there is one; otherwise, it specifies that there is no timeout. When aDataSourceobject is created, the login timeout is initially 30s.- Specified by:
setLoginTimeoutin interfaceCommonDataSource- Parameters:
seconds- the data source login time limit- Throws:
SQLException- if wrong configuration set- See Also:
-
getParentLogger
Not implemented- Specified by:
getParentLoggerin interfaceCommonDataSource- Returns:
- the parent Logger for this data source
-
getPooledConnection
- Specified by:
getPooledConnectionin interfaceConnectionPoolDataSource- Throws:
SQLException
-
getPooledConnection
- Specified by:
getPooledConnectionin interfaceConnectionPoolDataSource- Throws:
SQLException
-
getXAConnection
- Specified by:
getXAConnectionin interfaceXADataSource- Throws:
SQLException
-
getXAConnection
- Specified by:
getXAConnectionin interfaceXADataSource- Throws:
SQLException
-
getUrl
Returns the URL for this datasource- Returns:
- the URL for this datasource
-
setUrl
Sets the URL for this datasource- Parameters:
url- connection string- Throws:
SQLException- if url is not accepted
-
getUser
return user- Returns:
- user
-
setUser
Set user- Parameters:
user- user- Throws:
SQLException- if configuration fails
-
setPassword
set password- Parameters:
password- password- Throws:
SQLException- if configuration fails
-
close
public void close()Close datasource.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
getPoolName
get pool name- Returns:
- pool name
-
testGetConnectionIdleThreadIds
Get current idle threads. !! For testing purpose only !!- Returns:
- current thread id's
-