java.io.Serializable
, java.sql.Wrapper
, java.util.EventListener
, javax.naming.Referenceable
, javax.sql.CommonDataSource
, javax.sql.ConnectionEventListener
, javax.sql.DataSource
, javax.sql.StatementEventListener
public class JDBCPool extends JDBCCommonDataSource implements javax.sql.DataSource, java.io.Serializable, javax.naming.Referenceable, javax.sql.ConnectionEventListener, javax.sql.StatementEventListener, java.sql.Wrapper
A connection pool for HyperSQL connections. This implementation of
DataSource
is dedicated to HyperSQL and
guarantees all connection states are automatically reset when a connection
is reused.
The methods of the parent class,
JDBCCommonDataSource
are used to specify the database URL, user,
password, and / or connection properties.
Constructor | Description |
---|---|
JDBCPool() |
Creates a connection pool with the maximum size of 8.
|
JDBCPool(int size) |
Creates a connection pool with the given maximum size.
|
Modifier and Type | Method | Description |
---|---|---|
void |
close(int wait) |
Closes the pool immediately.
|
void |
connectionClosed(javax.sql.ConnectionEvent event) |
|
void |
connectionErrorOccurred(javax.sql.ConnectionEvent event) |
|
java.sql.Connection |
getConnection() |
Retrieves a new connection using the properties that have already been
set.
|
java.sql.Connection |
getConnection(java.lang.String username,
java.lang.String password) |
Retrieves a new connection using the given username and password,
and the database url that has been set.
|
java.lang.String |
getDatabase() |
Synonym for getUrl().
|
java.lang.String |
getDatabaseName() |
Synonym for getUrl().
|
java.lang.String |
getDataSourceName() |
Retrieves the name of the data source.
|
java.lang.String |
getDescription() |
Retrieves the description of the data source.
|
int |
getLoginTimeout() |
Gets the maximum time in seconds that this data source can wait
while attempting to connect to a database.
|
java.io.PrintWriter |
getLogWriter() |
Retrieves the log writer for this
DataSource
object. |
java.util.logging.Logger |
getParentLogger() |
Return the parent Logger of all the Loggers used by this data source.
|
javax.naming.Reference |
getReference() |
Retrieves the Reference of this object.
|
java.lang.String |
getUrl() |
Retrieves the jdbc database connection url attribute.
|
java.lang.String |
getUser() |
Retrieves the user name for the connection.
|
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.
|
void |
setDatabase(java.lang.String database) |
Synonym for setUrl(String).
|
void |
setDatabaseName(java.lang.String databaseName) |
Synonym for setUrl(String).
|
void |
setLoginTimeout(int seconds) |
Sets the maximum time in seconds that this data source will wait
while attempting to connect to a database.
|
void |
setLogWriter(java.io.PrintWriter out) |
Sets the log writer for this
DataSource
object to the given java.io.PrintWriter object. |
void |
setPassword(java.lang.String password) |
Sets the password for the user name.
|
void |
setProperties(java.util.Properties props) |
Sets connection properties.
|
void |
setUrl(java.lang.String url) |
Sets the jdbc database URL.
|
void |
setUser(java.lang.String user) |
Sets the user name.
|
void |
statementClosed(javax.sql.StatementEvent event) |
|
void |
statementErrorOccurred(javax.sql.StatementEvent event) |
|
<T> T |
unwrap(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.
|
getNetworkProtocol, getServerName, setURL
public JDBCPool()
getConnection()
is called.public JDBCPool(int size)
getConnection()
is called.size
- int maximum size of the poolpublic java.sql.Connection getConnection() throws java.sql.SQLException
getConnection
in interface javax.sql.DataSource
java.sql.SQLException
- if a database access error occurspublic java.sql.Connection getConnection(java.lang.String username, java.lang.String password) throws java.sql.SQLException
getConnection
in interface javax.sql.DataSource
username
- the database user on whose behalf the connection is
being madepassword
- the user's passwordjava.sql.SQLException
- if a database access error occurspublic <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException
unwrap
recursively on the wrapped object
or a proxy for that result. If the receiver is not a
wrapper and does not implement the interface, then an SQLException
is thrown.unwrap
in interface java.sql.Wrapper
iface
- A Class defining an interface that the result must implement.java.sql.SQLException
- If no object found that implements the interfacepublic boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException
isWrapperFor
on 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 to unwrap
so that
callers can use this method to avoid expensive unwrap
calls that may fail. If this method
returns true then calling unwrap
with the same argument should succeed.isWrapperFor
in interface java.sql.Wrapper
iface
- a Class defining an interface.java.sql.SQLException
- if an error occurs while determining whether this is a wrapper
for an object with the given interface.public javax.naming.Reference getReference() throws javax.naming.NamingException
getReference
in interface javax.naming.Referenceable
javax.naming.NamingException
- If a naming exception was encountered
while retrieving the reference.public void connectionClosed(javax.sql.ConnectionEvent event)
connectionClosed
in interface javax.sql.ConnectionEventListener
public void connectionErrorOccurred(javax.sql.ConnectionEvent event)
connectionErrorOccurred
in interface javax.sql.ConnectionEventListener
public void statementClosed(javax.sql.StatementEvent event)
statementClosed
in interface javax.sql.StatementEventListener
public void statementErrorOccurred(javax.sql.StatementEvent event)
statementErrorOccurred
in interface javax.sql.StatementEventListener
public java.io.PrintWriter getLogWriter() throws java.sql.SQLException
Retrieves the log writer for this DataSource
object.
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.DriverManager
class. When a
DataSource
object is
created, the log writer is initially null; in other words, the
default is for logging to be disabled.
getLogWriter
in interface javax.sql.CommonDataSource
getLogWriter
in interface javax.sql.DataSource
getLogWriter
in class JDBCCommonDataSource
java.sql.SQLException
- if a database access error occurssetLogWriter(java.io.PrintWriter)
public void setLogWriter(java.io.PrintWriter out) throws java.sql.SQLException
Sets the log writer for this DataSource
object to the given java.io.PrintWriter
object.
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.DriverManager
class. When a
DataSource
object is created the log writer is
initially null; in other words, the default is for logging to be
disabled.
setLogWriter
in interface javax.sql.CommonDataSource
setLogWriter
in interface javax.sql.DataSource
setLogWriter
in class JDBCCommonDataSource
out
- the new log writer; to disable logging, set to nulljava.sql.SQLException
- if a database access error occursgetLogWriter()
public void setLoginTimeout(int seconds) throws java.sql.SQLException
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 a DataSource
object is created, the login timeout is
initially zero.
setLoginTimeout
in interface javax.sql.CommonDataSource
setLoginTimeout
in interface javax.sql.DataSource
setLoginTimeout
in class JDBCCommonDataSource
seconds
- the data source login time limitjava.sql.SQLException
- if a database access error occurs.getLoginTimeout()
public int getLoginTimeout() throws java.sql.SQLException
DataSource
object is created, the login timeout is
initially zero.getLoginTimeout
in interface javax.sql.CommonDataSource
getLoginTimeout
in interface javax.sql.DataSource
getLoginTimeout
in class JDBCCommonDataSource
java.sql.SQLException
- if a database access error occurs.setLoginTimeout(int)
public java.lang.String getDescription()
getDescription
in class JDBCCommonDataSource
public java.lang.String getDataSourceName()
getDataSourceName
in class JDBCCommonDataSource
public java.lang.String getDatabaseName()
getDatabaseName
in class JDBCCommonDataSource
public java.lang.String getDatabase()
getDatabase
in class JDBCCommonDataSource
public java.lang.String getUrl()
getUrl
in class JDBCCommonDataSource
public java.lang.String getUser()
getUser
in class JDBCCommonDataSource
public void setDatabaseName(java.lang.String databaseName)
setDatabaseName
in class JDBCCommonDataSource
databaseName
- the new value for the attributepublic void setDatabase(java.lang.String database)
setDatabase
in class JDBCCommonDataSource
database
- the new value for the attributepublic void setUrl(java.lang.String url)
setUrl
in class JDBCCommonDataSource
url
- the new value of this object's jdbc database connection
url attributepublic void setPassword(java.lang.String password)
setPassword
in class JDBCCommonDataSource
password
- the passwordpublic void setUser(java.lang.String user)
setUser
in class JDBCCommonDataSource
user
- the user idpublic void setProperties(java.util.Properties props)
setProperties
in class JDBCCommonDataSource
props
- properties. If null, then existing properties will be
cleared/replaced.public java.util.logging.Logger getParentLogger() throws java.sql.SQLFeatureNotSupportedException
getParentLogger
in interface javax.sql.CommonDataSource
getParentLogger
in class JDBCCommonDataSource
SQLFeatureNotSupportedException
- if the data source does not use java.util.logging.
public void close(int wait) throws java.sql.SQLException
wait
- int number of seconds to wait before closing the connections, maximum 60 secondsjava.sql.SQLException
Copyright �� 2001 - 2013 HSQL Development Group.