Class MariaDbPoolDataSource
- All Implemented Interfaces:
Closeable,AutoCloseable,Wrapper,CommonDataSource,DataSource,XADataSource
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.MariaDbPoolDataSource(String hostname, int port, String database) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidvoidclose()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.Gets the name of the database.intGets the maximum time in seconds that this data source can wait while attempting to connect to a database.Retrieves the log writer for thisDataSourceobject.intMax time a connection can be idle.intPool maximum connection size.intGet minimum pool size (pool will grow at creation untile reaching this size).If connection has been used in less time than poolValidMinDelay, then no connection validation will be done (0=mean validation every time).intgetPort()Returns the port number.intReturns the port number.Returns the name of the database server.protected UrlParserFor testing purpose only.getUser()Gets the username.getXAConnection(String user, String password) voidInitialize pool.private voidbooleanisWrapperFor(Class<?> interfaceOrWrapper) Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does.voidsetDatabaseName(String database) Sets the database name.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) Sets the log writer for thisDataSourceobject to the givenjava.io.PrintWriterobject.voidsetMaxIdleTime(int maxIdleTime) voidsetMaxPoolSize(int maxPoolSize) voidsetMinPoolSize(int minPoolSize) voidsetPassword(String password) Sets the password.voidsetPoolName(String poolName) voidsetPoolValidMinDelay(Integer poolValidMinDelay) voidsetPort(int port) Sets the database port.voidsetPortNumber(int port) Sets the port number.voidsetServerName(String serverName) Sets the server name.voidsetStaticGlobal(Boolean staticGlobal) voidSets the connection string URL.voidSets the username.voidtestForceMaxIdleTime(int maxIdleTime) Permit to create test that doesn't wait for maxIdleTime minimum value of 60 seconds.Get current idle threads.Get pool.<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.DataSource
createConnectionBuilderMethods inherited from interface javax.sql.XADataSource
createXAConnectionBuilder
-
Field Details
-
urlParser
-
pool
-
hostname
-
port
-
connectTimeout
-
database
-
url
-
user
-
password
-
poolName
-
maxPoolSize
-
minPoolSize
-
maxIdleTime
-
staticGlobal
-
poolValidMinDelay
-
-
Constructor Details
-
MariaDbPoolDataSource
Constructor.- Parameters:
hostname- hostname (ipv4, ipv6, dns name)port- server portdatabase- database name
-
MariaDbPoolDataSource
-
MariaDbPoolDataSource
public MariaDbPoolDataSource()Default constructor. hostname will be localhost, port 3306.
-
-
Method Details
-
getDatabaseName
Gets the name of the database.- Returns:
- the name of the database for this data source
-
setDatabaseName
Sets the database name.- Parameters:
database- the name of the database- Throws:
SQLException- if error in URL
-
checkNotInitialized
- Throws:
SQLException
-
getUser
Gets the username.- Returns:
- the username to use when connecting to the database
-
setUser
Sets the username.- Parameters:
user- the username- Throws:
SQLException- if error in URL
-
setPassword
Sets the password.- Parameters:
password- the password- Throws:
SQLException- if error in URL
-
getPort
public int getPort()Returns the port number.- Returns:
- the port number
-
setPort
Sets the database port.- Parameters:
port- the port- Throws:
SQLException- if error in URL
-
getPortNumber
public int getPortNumber()Returns the port number.- Returns:
- the port number
-
setPortNumber
Sets the port number.- Parameters:
port- the port- Throws:
SQLException- if error in URL- See Also:
-
setUrl
Sets the connection string URL.- Parameters:
url- the connection string- Throws:
SQLException- if error in URL
-
getServerName
Returns the name of the database server.- Returns:
- the name of the database server
-
setServerName
Sets the server name.- Parameters:
serverName- the server name- Throws:
SQLException- if error in URL
-
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 occurs
-
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 occurs
-
getLogWriter
Retrieves the log writer for thisDataSourceobject.The log writer is a character output stream to which all logging and tracing messages for this data source will be printed. This includes messages printed by the methods of this object, messages printed by methods of other objects manufactured by this object, and so on. Messages printed to a data source specific log writer are not printed to the log writer associated with the
java.sql.DriverManagerclass.When a
DataSourceobject is created, the log writer is initially null; in other words, the default is for logging to be disabled.- Specified by:
getLogWriterin interfaceCommonDataSource- 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
Sets the log writer for thisDataSourceobject to the givenjava.io.PrintWriterobject.The log writer is a character output stream to which all logging and tracing messages for this data source will be printed. This includes messages printed by the methods of this object, messages printed by methods of other objects manufactured by this object, and so on. Messages printed to a data source- specific log writer are not printed to the log writer associated with the
java.sql.DriverManagerclass. When aDataSourceobject is created the log writer is initially null; in other words, the default is for logging to be disabled.- Specified by:
setLogWriterin interfaceCommonDataSource- Specified by:
setLogWriterin interfaceDataSource- Specified by:
setLogWriterin interfaceXADataSource- Parameters:
out- the new log writer; to disable logging, set to null- Since:
- 1.4
- 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 zero.- Specified by:
getLoginTimeoutin interfaceCommonDataSource- Specified by:
getLoginTimeoutin interfaceDataSource- Specified by:
getLoginTimeoutin interfaceXADataSource- Returns:
- the data source login time limit
- Since:
- 1.4
- 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 zero.- Specified by:
setLoginTimeoutin interfaceCommonDataSource- Specified by:
setLoginTimeoutin interfaceDataSource- Specified by:
setLoginTimeoutin interfaceXADataSource- Parameters:
seconds- the data source login time limit- Throws:
SQLException- if a database access error occurs.- Since:
- 1.4
- See Also:
-
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 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. May be a proxy for the actual implementing object.
- Throws:
SQLException- If no object found that implements the interface- Since:
- 1.6
-
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:
interfaceOrWrapper- a Class defining an interface.- Returns:
- true if this implements the interface or directly or indirectly wraps an object that does.
- Throws:
SQLException- if an error occurs while determining whether this is a wrapper for an object with the given interface.- Since:
- 1.6
-
getXAConnection
- Specified by:
getXAConnectionin interfaceXADataSource- Throws:
SQLException
-
getXAConnection
- Specified by:
getXAConnectionin interfaceXADataSource- Throws:
SQLException
-
getParentLogger
- Specified by:
getParentLoggerin interfaceCommonDataSource
-
getUrlParser
For testing purpose only.- Returns:
- current url parser.
-
getPoolName
-
setPoolName
- Throws:
SQLException
-
getMaxPoolSize
public int getMaxPoolSize()Pool maximum connection size.- Returns:
- current value.
-
setMaxPoolSize
- Throws:
SQLException
-
getMinPoolSize
public int getMinPoolSize()Get minimum pool size (pool will grow at creation untile reaching this size). Null mean use the pool maximum pool size.- Returns:
- current value.
-
setMinPoolSize
- Throws:
SQLException
-
getMaxIdleTime
public int getMaxIdleTime()Max time a connection can be idle.- Returns:
- current value.
-
setMaxIdleTime
- Throws:
SQLException
-
getStaticGlobal
-
setStaticGlobal
-
getPoolValidMinDelay
If connection has been used in less time than poolValidMinDelay, then no connection validation will be done (0=mean validation every time).- Returns:
- current value of poolValidMinDelay
-
setPoolValidMinDelay
-
initializeUrlParser
- Throws:
SQLException
-
close
public void close()Close datasource.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
initialize
Initialize pool.- Throws:
SQLException- if connection string has error
-
testGetConnectionIdleThreadIds
Get current idle threads. !! For testing purpose only !!- Returns:
- current thread id's
-
testForceMaxIdleTime
Permit to create test that doesn't wait for maxIdleTime minimum value of 60 seconds. !! For testing purpose only !!- Parameters:
maxIdleTime- forced value of maxIdleTime option.- Throws:
SQLException- if connection string has error
-
testGetPool
Get pool. !! For testing purpose only !!- Returns:
- pool
-