Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
public interface FirebirdPool
FBWrappingDataSource
and
org.firebirdsql.pool.FBConnectionPoolDataSource
objects.
Following properties are supported:
blobBufferSize
size of the buffer used to transfer BLOB data.
blockingTimeout
time in milliseconds during which javax.sql.DataSource.getConnection()
method will
block if no free connection is in pool.
charSet
similar to encoding
, but takes Java character set name
instead of Firebird's encoding.
database
path to a database including the server name; for example
localhost/3050:c:/path/to/database.gdb
.
encoding
character encoding for the JDBC connection.
freeSize
read-only: gives amount of free connections in the pool, when 0, blocking
will occur if workingSize
is equal to maxPoolSize
.
isolation
default transaction isolation level for connections as string; possible
values are:
loginTimeout
property from javax.sql.DataSource
, in this context is a synonym
for blockingTimeout
(however value is specified in seconds).
maxIdleTime
time in milliseconds after which idle physical connection in the
pool is closed.
maxStatements
maximum number of pooled prepared statements, if 0, pooling is switched
off.
maxPoolSize
maximum number of physical connections that can be opened by this data
source.
minPoolSize
minimum number of connections that will remain open by this data source.
nonStandardProperty
a non-standard connection parameter in form name[=value]
.
password
password that is used to connect to database.
pingInterval
time interval during which connection will be proved for aliveness.
pooling
allows switching pooling off.
statementPooling
alternative way to switch statement pooling off.
socketBufferSize
size of the socket buffer in bytes. In some cases values used by JVM by
default are not optimal. This results in performance degradation
(especially when you transfer big BLOBs). Usually 8192 bytes provides
good results.
roleName
SQL role name.
tpbMapping
mapping of the TPB parameters to JDBC transaction isolation levels.
transactionIsolationLevel
default transaction isolation level, number from java.sql.Connection
interface.
totalSize
total number of allocated connections.
type
type of connection that will be created. There are four possible types:
pure Java (or type 4), type 2 that will use Firebird client library to
connect to the database, local-mode type 2 driver, and embedded that
will use embedded engine (access to local databases). Possible values
are (case insensitive):
"PURE_JAVA"
or "TYPE4"
for pure Java (type 4) JDBC connections;
"NATIVE"
or "TYPE2"
to use Firebird client library;
"LOCAL"
to use Firebird client library in local-mode (IPC link to server);
"EMBEDDED"
to use embedded engine.
userName
name of the user that will be used to access the database.
workingSize
number of connections that are in use (e.g. were obtained using
javax.sql.DataSource.getConnection()
method, but not yet closed).
Method Summary | |
int |
|
int | |
int |
|
int |
|
int | |
int |
|
int |
|
int | |
int | |
boolean |
|
boolean |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
Methods inherited from interface org.firebirdsql.pool.ConnectionPoolConfiguration | |
getBlockingTimeout , getIdleTimeout , getMaxConnections , getMaxIdleTime , getMaxPoolSize , getMinConnections , getMinPoolSize , getPingInterval , getPingStatement , getRetryInterval , isPingable , isPooling , isStatementPooling |
public int getBlockingTimeout()
Get time during whichjavax.sql.ConnectionPoolDataSource.getPooledConnection()
can block. By default method blocks forever.
- Specified by:
- getBlockingTimeout in interface ConnectionPoolConfiguration
- Returns:
- pool blocking timeout in milliseconds,
Integer.MAX_VALUE
indicates blocking forever.
public int getFreeSize() throws SQLException
public int getMaxIdleTime()
Get time after which idle connections will be deallocated.
- Specified by:
- getMaxIdleTime in interface ConnectionPoolConfiguration
- Returns:
- idle timeout in milliseconds,
Integer.MAX_VALUE
indicates that idle connections are not removed.
public int getMaxPoolSize()
Get maximum number of physical connections that can be simultaneously open.
- Specified by:
- getMaxPoolSize in interface ConnectionPoolConfiguration
- Returns:
- maximum number of simultaneously open physical database connections, 0 if no limit exists.
public int getMaxStatements()
public int getMinPoolSize()
Get minimum number of open JDBC connections that will be created when pool is started.
- Specified by:
- getMinPoolSize in interface ConnectionPoolConfiguration
- Returns:
- minimum number of open JDBC connections to open at startup.
public int getPingInterval()
Get time interval after which connection should be pinged.
- Specified by:
- getPingInterval in interface ConnectionPoolConfiguration
- Returns:
- number of milliseconds in the ping interval.
public int getTotalSize() throws SQLException
public int getWorkingSize() throws SQLException
public boolean isPooling()
Check if this connection pool uses connection pooling, or just implements JDBC 2.0 SE interfaces. By default pooling is on. It might make sense to set pooling off to check performance degradation in test environment. It could be also used in the environment where physical connection must be closed right after usage, however using JDBC 2.0 SE interfaces is either a requirement or is simpler than standardjava.sql.Driver
.
- Specified by:
- isPooling in interface ConnectionPoolConfiguration
- Returns:
true
if pooling is enabled.
public boolean isStatementPooling()
Check if this connection pool provides also prepared statement pooling. By default prepared statement pooling is enabled, however there might be situations where statement pooling is not desired, for example in environments where database can quickly run out of handles and fast handle reuse is required.
- Specified by:
- isStatementPooling in interface ConnectionPoolConfiguration
- Returns:
true
if prepared statement pooling is enabled.
public void restart()
public void setBlockingTimeout(int blockingTimeoutValue)
public void setMaxIdleTime(int maxIdleTime)
public void setMaxPoolSize(int maxPoolSize)
public void setMaxStatements(int maxStatements)
public void setMinPoolSize(int minPoolSize)
public void setPingInterval(int pingIntervalValue)
public void setPooling(boolean pooling)
public void setStatementPooling(boolean statementPooling)
public void shutdown()