Package org.mariadb.jdbc
Class MariaDbDataSource
- java.lang.Object
-
- org.mariadb.jdbc.MariaDbDataSource
-
- All Implemented Interfaces:
java.sql.Wrapper,javax.sql.CommonDataSource,javax.sql.ConnectionPoolDataSource,javax.sql.DataSource,javax.sql.XADataSource
public class MariaDbDataSource extends java.lang.Object implements javax.sql.DataSource, javax.sql.ConnectionPoolDataSource, javax.sql.XADataSourceMariaDB basic datasource
-
-
Field Summary
Fields Modifier and Type Field Description private Configurationconfconfigurationprivate java.lang.IntegerloginTimeoutconnect timeoutprivate java.lang.Stringpasswordpasswordprivate java.lang.Stringurlurl permitting creating configurationprivate java.lang.Stringuserusername
-
Constructor Summary
Constructors Constructor Description MariaDbDataSource()Basic constructorMariaDbDataSource(java.lang.String url)Constructor with URL
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidconfig()Create configuration from url/user/password/loginTimeoutjava.sql.ConnectiongetConnection()Attempts to establish a connection with the data source that thisDataSourceobject represents.java.sql.ConnectiongetConnection(java.lang.String username, java.lang.String password)Attempts to establish a connection with the data source that thisDataSourceobject represents.intgetLoginTimeout()Gets the maximum time in seconds that this data source can wait while attempting to connect to a database.java.io.PrintWritergetLogWriter()Implementation doesn't use logwriterjava.util.logging.LoggergetParentLogger()Not implementedjavax.sql.PooledConnectiongetPooledConnection()javax.sql.PooledConnectiongetPooledConnection(java.lang.String username, java.lang.String password)java.lang.StringgetUrl()Returns the URL for this datasourcejava.lang.StringgetUser()get Userjavax.sql.XAConnectiongetXAConnection()javax.sql.XAConnectiongetXAConnection(java.lang.String username, java.lang.String password)booleanisWrapperFor(java.lang.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(java.io.PrintWriter out)Implementation doesn't use logwritervoidsetPassword(java.lang.String password)Set passwordvoidsetUrl(java.lang.String url)Sets the URL for this datasourcevoidsetUser(java.lang.String user)Set user<T> Tunwrap(java.lang.Class<T> iface)Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy.
-
-
-
Field Detail
-
conf
private Configuration conf
configuration
-
url
private java.lang.String url
url permitting creating configuration
-
user
private java.lang.String user
username
-
password
private java.lang.String password
password
-
loginTimeout
private java.lang.Integer loginTimeout
connect timeout
-
-
Method Detail
-
config
private void config() throws java.sql.SQLExceptionCreate configuration from url/user/password/loginTimeout- Throws:
java.sql.SQLException- if not supported
-
getConnection
public java.sql.Connection getConnection() throws java.sql.SQLExceptionAttempts to establish a connection with the data source that thisDataSourceobject represents.- Specified by:
getConnectionin interfacejavax.sql.DataSource- Returns:
- a connection to the data source
- Throws:
java.sql.SQLException- if a database access error occursjava.sql.SQLTimeoutException- 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
public java.sql.Connection getConnection(java.lang.String username, java.lang.String password) throws java.sql.SQLExceptionAttempts to establish a connection with the data source that thisDataSourceobject represents.- Specified by:
getConnectionin interfacejavax.sql.DataSource- 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:
java.sql.SQLException- if a database access error occursjava.sql.SQLTimeoutException- 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
public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLExceptionReturns 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 interfacejava.sql.Wrapper- 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:
java.sql.SQLException- If no object found that implements the interface
-
isWrapperFor
public boolean isWrapperFor(java.lang.Class<?> iface)
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 interfacejava.sql.Wrapper- Parameters:
iface- a Class defining an interface.- Returns:
- true if this implements the interface or directly or indirectly wraps an object that does.
-
getLogWriter
public java.io.PrintWriter getLogWriter()
Implementation doesn't use logwriter- Specified by:
getLogWriterin interfacejavax.sql.CommonDataSource- Returns:
- the log writer for this data source or null if logging is disabled
- See Also:
setLogWriter(java.io.PrintWriter)
-
setLogWriter
public void setLogWriter(java.io.PrintWriter out)
Implementation doesn't use logwriter- Specified by:
setLogWriterin interfacejavax.sql.CommonDataSource- Parameters:
out- the new log writer; to disable logging, set to null- See Also:
getLogWriter()
-
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 interfacejavax.sql.CommonDataSource- Returns:
- the data source login time limit
- See Also:
setLoginTimeout(int)
-
setLoginTimeout
public void setLoginTimeout(int seconds) throws java.sql.SQLExceptionSets 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 interfacejavax.sql.CommonDataSource- Parameters:
seconds- the data source login time limit- Throws:
java.sql.SQLException- if wrong configuration set- See Also:
getLoginTimeout()
-
getParentLogger
public java.util.logging.Logger getParentLogger()
Not implemented- Specified by:
getParentLoggerin interfacejavax.sql.CommonDataSource- Returns:
- the parent Logger for this data source
-
getPooledConnection
public javax.sql.PooledConnection getPooledConnection() throws java.sql.SQLException- Specified by:
getPooledConnectionin interfacejavax.sql.ConnectionPoolDataSource- Throws:
java.sql.SQLException
-
getPooledConnection
public javax.sql.PooledConnection getPooledConnection(java.lang.String username, java.lang.String password) throws java.sql.SQLException- Specified by:
getPooledConnectionin interfacejavax.sql.ConnectionPoolDataSource- Throws:
java.sql.SQLException
-
setConnectionCloseListener
private void setConnectionCloseListener(MariaDbPoolConnection mariaDbPoolConnection)
-
getXAConnection
public javax.sql.XAConnection getXAConnection() throws java.sql.SQLException- Specified by:
getXAConnectionin interfacejavax.sql.XADataSource- Throws:
java.sql.SQLException
-
getXAConnection
public javax.sql.XAConnection getXAConnection(java.lang.String username, java.lang.String password) throws java.sql.SQLException- Specified by:
getXAConnectionin interfacejavax.sql.XADataSource- Throws:
java.sql.SQLException
-
getUrl
public java.lang.String getUrl()
Returns the URL for this datasource- Returns:
- the URL for this datasource
-
setUrl
public void setUrl(java.lang.String url) throws java.sql.SQLExceptionSets the URL for this datasource- Parameters:
url- connection string- Throws:
java.sql.SQLException- if url is not accepted
-
getUser
public java.lang.String getUser()
get User- Returns:
- user
-
setUser
public void setUser(java.lang.String user) throws java.sql.SQLExceptionSet user- Parameters:
user- user- Throws:
java.sql.SQLException- if wrong resulting connection string
-
setPassword
public void setPassword(java.lang.String password) throws java.sql.SQLExceptionSet password- Parameters:
password- password- Throws:
java.sql.SQLException- if wrong configuration
-
-