Class MariaDbDataSource
java.lang.Object
org.mariadb.jdbc.MariaDbDataSource
- All Implemented Interfaces:
Wrapper, CommonDataSource, ConnectionPoolDataSource, DataSource, XADataSource
public class MariaDbDataSource
extends Object
implements DataSource, ConnectionPoolDataSource, XADataSource
MariaDB basic datasource
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Configurationconfigurationprivate Integerconnect timeoutprivate Stringpasswordprivate Stringurl permitting creating configurationprivate Stringusername -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidconfig()Create configuration from url/user/password/loginTimeoutAttempts 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) getUrl()Returns the URL for this datasourcegetUser()get 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.private voidsetConnectionCloseListener(MariaDbPoolConnection mariaDbPoolConnection) 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 user<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
-
conf
configuration -
url
url permitting creating configuration -
user
username -
password
password -
loginTimeout
connect timeout
-
-
Constructor Details
-
MariaDbDataSource
public MariaDbDataSource()Basic constructor -
MariaDbDataSource
Constructor with URL- Parameters:
url- connection string- Throws:
SQLException- if url is not supported
-
-
Method Details
-
config
Create configuration from url/user/password/loginTimeout- Throws:
SQLException- if not supported
-
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
-
setConnectionCloseListener
-
getXAConnection
- Specified by:
getXAConnectionin interfaceXADataSource- Throws:
SQLException
-
getXAConnection
- Specified by:
getXAConnectionin interfaceXADataSource- Throws:
SQLException
-
getUrl
-
setUrl
Sets the URL for this datasource- Parameters:
url- connection string- Throws:
SQLException- if url is not accepted
-
getUser
-
setUser
Set user- Parameters:
user- user- Throws:
SQLException- if wrong resulting connection string
-
setPassword
Set password- Parameters:
password- password- Throws:
SQLException- if wrong configuration
-