|
xmlBlaster 2.2.0 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.xmlBlaster.protocol.jdbc.NamedConnectionPool
public class NamedConnectionPool
This is a specialized JDBC connection pool for xmlBlaster.
It allows accessing any number of different databases with arbitrary login users.java -Djdbc.drivers=foo.bah.Driver:wombat.sql.Driver:bad.taste.ourDriver ...or in xmlBlaster.properties, e.g.
JdbcDriver.drivers=oracle.jdbc.driver.OracleDriver,org.gjt.mm.mysql.Driver:postgresql.Driver,de.sag.jdbc.adabasd.ADriver:sun.jdbc.odbc.JdbcOdbcDriver:com.sybase.jdbc2.jdbc.SybDriverYou use reserve() to get a connection and need to call release() after using it, note that the connection parameters are optional:
String dbStmt = "select * from user_table"; java.sql.Connection con = namedPool.reserve(dbUrl, dbUser, dbPasswd, 60*60*1000L, 100, 10*60*1000L); java.sql.Statement stmt = null; java.sql.ResultSet rs = null; try { stmt = con.createStatement(); rs = stmt.executeQuery(dbStmt); } finally { if (rs!=null) rs.close(); if (stmt!=null) stmt.close(); if (con!=null) namedPool.release(dbUrl, user, pw, con); }
PoolManager
,
ResourceWrapper
Nested Class Summary | |
---|---|
private class |
NamedConnectionPool.UnnamedConnectionPool
Inner class, every user of the Named pool has its own connection pool. |
Field Summary | |
---|---|
private Global |
glob
|
private static java.util.logging.Logger |
log
|
private static java.lang.String |
ME
|
private java.lang.Object |
meetingPoint
|
private java.util.Hashtable |
namedPools
|
Constructor Summary | |
---|---|
NamedConnectionPool(Global glob)
|
Method Summary | |
---|---|
(package private) void |
destroy()
Destroy the complete named pool of all users. |
(package private) void |
destroy(java.lang.String dbUrl,
java.lang.String dbUser,
java.lang.String dbPasswd)
Destroy the JDBC connection pool from a specific user. |
(package private) void |
eraseConnection(java.lang.String dbUrl,
java.lang.String dbUser,
java.lang.String dbPasswd,
java.sql.Connection con)
Use this method to destroy the given JDBC connection. |
private java.lang.String |
getKey(java.lang.String dbUrl,
java.lang.String dbUser,
java.lang.String dbPasswd)
|
private NamedConnectionPool.UnnamedConnectionPool |
getPool(java.lang.String dbUrl,
java.lang.String dbUser,
java.lang.String dbPasswd)
|
static void |
main(java.lang.String[] args)
For testing only. |
(package private) void |
release(java.lang.String dbUrl,
java.lang.String dbUser,
java.lang.String dbPasswd,
java.sql.Connection con)
Use this method to release a JDBC connection. |
(package private) java.sql.Connection |
reserve(java.lang.String dbUrl,
java.lang.String dbUser,
java.lang.String dbPasswd)
Use this method to get a JDBC connection. |
(package private) java.sql.Connection |
reserve(java.lang.String dbUrl,
java.lang.String dbUser,
java.lang.String dbPasswd,
long eraseUnusedPoolTimeout,
int maxInstances,
long idleToErase)
Use this method to get a JDBC connection. |
java.lang.String |
toXml()
Dump state of this object into a XML ASCII string. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final java.lang.String ME
private Global glob
private static java.util.logging.Logger log
private java.util.Hashtable namedPools
private final java.lang.Object meetingPoint
Constructor Detail |
---|
NamedConnectionPool(Global glob)
Method Detail |
---|
java.sql.Connection reserve(java.lang.String dbUrl, java.lang.String dbUser, java.lang.String dbPasswd) throws XmlBlasterException
dbUrl
- For example "jdbc:oracle:thin:@localhost:1521:mydbdbUser
- The database userdbPasswd
- The database password
XmlBlasterException
java.sql.Connection reserve(java.lang.String dbUrl, java.lang.String dbUser, java.lang.String dbPasswd, long eraseUnusedPoolTimeout, int maxInstances, long idleToErase) throws XmlBlasterException
dbUrl
- For example "jdbc:oracle:thin:@localhost:1521:mydberaseUnusedPoolTimeout
- Remove pool of a user if not in use, in ms
0 switches it off, -1 uses default setting 1 hour (from xmlBlaster.properties)maxInstances
- Default is max. 20 connections (from xmlBlaster.properties)idleToErase
- in msec
0 switches it off, -1 uses default setting 10 min. (from xmlBlaster.properties)
XmlBlasterException
void release(java.lang.String dbUrl, java.lang.String dbUser, java.lang.String dbPasswd, java.sql.Connection con) throws XmlBlasterException
XmlBlasterException
void eraseConnection(java.lang.String dbUrl, java.lang.String dbUser, java.lang.String dbPasswd, java.sql.Connection con) throws XmlBlasterException
XmlBlasterException
void destroy(java.lang.String dbUrl, java.lang.String dbUser, java.lang.String dbPasswd) throws XmlBlasterException
The
- UnnamedConnectionPool object
XmlBlasterException
void destroy()
private java.lang.String getKey(java.lang.String dbUrl, java.lang.String dbUser, java.lang.String dbPasswd)
private NamedConnectionPool.UnnamedConnectionPool getPool(java.lang.String dbUrl, java.lang.String dbUser, java.lang.String dbPasswd)
public final java.lang.String toXml()
public static void main(java.lang.String[] args)
|
xmlBlaster 2.2.0 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |