biz.hammurapi.sql
Class ConnectionPerThreadDataSourceFilter

java.lang.Object
  extended by biz.hammurapi.sql.ConnectionPerThreadDataSourceFilter
All Implemented Interfaces:
javax.sql.DataSource

public class ConnectionPerThreadDataSourceFilter
extends java.lang.Object
implements javax.sql.DataSource

Wraps another datasource for re-using already allocated thread connections. Maintains one connection per thread/user name/pwd. Connection is allocated on first getConnection() call. Every next call increments use counter. Connection closes when it is not used (counter==0).

Author:
Pavel Vlasov

Constructor Summary
ConnectionPerThreadDataSourceFilter(javax.sql.DataSource master)
          Constructor
 
Method Summary
 java.sql.Connection getConnection()
           
 java.sql.Connection getConnection(java.lang.String user, java.lang.String password)
           
 int getLoginTimeout()
           
 java.io.PrintWriter getLogWriter()
           
 void setLoginTimeout(int seconds)
           
 void setLogWriter(java.io.PrintWriter out)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConnectionPerThreadDataSourceFilter

public ConnectionPerThreadDataSourceFilter(javax.sql.DataSource master)
Constructor

Parameters:
master - Master data source
initConnectionTransaction - optional transaction to initialize connection e.g. set database schema.
Method Detail

getLoginTimeout

public int getLoginTimeout()
                    throws java.sql.SQLException
Specified by:
getLoginTimeout in interface javax.sql.DataSource
Throws:
java.sql.SQLException

setLoginTimeout

public void setLoginTimeout(int seconds)
                     throws java.sql.SQLException
Specified by:
setLoginTimeout in interface javax.sql.DataSource
Throws:
java.sql.SQLException

getLogWriter

public java.io.PrintWriter getLogWriter()
                                 throws java.sql.SQLException
Specified by:
getLogWriter in interface javax.sql.DataSource
Throws:
java.sql.SQLException

setLogWriter

public void setLogWriter(java.io.PrintWriter out)
                  throws java.sql.SQLException
Specified by:
setLogWriter in interface javax.sql.DataSource
Throws:
java.sql.SQLException

getConnection

public java.sql.Connection getConnection()
                                  throws java.sql.SQLException
Specified by:
getConnection in interface javax.sql.DataSource
Throws:
java.sql.SQLException

getConnection

public java.sql.Connection getConnection(java.lang.String user,
                                         java.lang.String password)
                                  throws java.sql.SQLException
Specified by:
getConnection in interface javax.sql.DataSource
Throws:
java.sql.SQLException


Copyright © 2003 Hammurapi Group. All Rights Reserved.