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.
-
Constructor Summary
ConstructorsConstructorDescriptionConstructorConstructor with url -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close datasource.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.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface javax.sql.CommonDataSource
createShardingKeyBuilderMethods inherited from interface javax.sql.ConnectionPoolDataSource
createPooledConnectionBuilderMethods inherited from interface javax.sql.DataSource
createConnectionBuilderMethods inherited from interface javax.sql.XADataSource
createXAConnectionBuilder
-
Constructor Details
-
MariaDbPoolDataSource
public MariaDbPoolDataSource()Constructor -
MariaDbPoolDataSource
Constructor with url- Parameters:
url- connection string- Throws:
SQLException- if configuration fails
-
-
Method Details
-
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- Specified by:
getLogWriterin interfaceConnectionPoolDataSource- Specified by:
getLogWriterin interfaceDataSource- Specified by:
getLogWriterin interfaceXADataSource- 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- Specified by:
setLogWriterin interfaceConnectionPoolDataSource- Specified by:
setLogWriterin interfaceDataSource- Specified by:
setLogWriterin interfaceXADataSource- 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- Specified by:
getLoginTimeoutin interfaceConnectionPoolDataSource- Specified by:
getLoginTimeoutin interfaceDataSource- Specified by:
getLoginTimeoutin interfaceXADataSource- 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- Specified by:
setLoginTimeoutin interfaceConnectionPoolDataSource- Specified by:
setLoginTimeoutin interfaceDataSource- Specified by:
setLoginTimeoutin interfaceXADataSource- 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
-