org.postgresql.ds
Class PGConnectionPoolDataSource

java.lang.Object
  extended by org.postgresql.ds.common.BaseDataSource
      extended by org.postgresql.ds.PGConnectionPoolDataSource
All Implemented Interfaces:
java.io.Serializable, javax.naming.Referenceable, javax.sql.ConnectionPoolDataSource

public class PGConnectionPoolDataSource
extends BaseDataSource
implements java.io.Serializable, javax.sql.ConnectionPoolDataSource

PostgreSQL implementation of ConnectionPoolDataSource. The app server or middleware vendor should provide a DataSource implementation that takes advantage of this ConnectionPoolDataSource. If not, you can use the PostgreSQL implementation known as PoolingDataSource, but that should only be used if your server or middleware vendor does not provide their own. Why? The server may want to reuse the same Connection across all EJBs requesting a Connection within the same Transaction, or provide other similar advanced features.

In any case, in order to use this ConnectionPoolDataSource, you must set the property databaseName. The settings for serverName, portNumber, user, and password are optional. Note: these properties are declared in the superclass.

This implementation supports JDK 1.3 and higher.

Author:
Aaron Mulder (ammulder@chariotsolutions.com)
See Also:
Serialized Form

Constructor Summary
PGConnectionPoolDataSource()
           
 
Method Summary
 java.lang.String getDescription()
          Gets a description of this DataSource.
 javax.sql.PooledConnection getPooledConnection()
          Gets a connection which may be pooled by the app server or middleware implementation of DataSource.
 javax.sql.PooledConnection getPooledConnection(java.lang.String user, java.lang.String password)
          Gets a connection which may be pooled by the app server or middleware implementation of DataSource.
 boolean isDefaultAutoCommit()
          Gets whether connections supplied by this pool will have autoCommit turned on by default.
 void setDefaultAutoCommit(boolean defaultAutoCommit)
          Sets whether connections supplied by this pool will have autoCommit turned on by default.
 
Methods inherited from class org.postgresql.ds.common.BaseDataSource
createReference, getConnection, getConnection, getDatabaseName, getLoginTimeout, getLogWriter, getPassword, getPortNumber, getPrepareThreshold, getReference, getServerName, getUser, readBaseObject, setDatabaseName, setLoginTimeout, setLogWriter, setPassword, setPortNumber, setPrepareThreshold, setServerName, setUser, writeBaseObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.sql.ConnectionPoolDataSource
getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriter
 

Constructor Detail

PGConnectionPoolDataSource

public PGConnectionPoolDataSource()
Method Detail

getDescription

public java.lang.String getDescription()
Gets a description of this DataSource.

Specified by:
getDescription in class BaseDataSource

getPooledConnection

public javax.sql.PooledConnection getPooledConnection()
                                               throws java.sql.SQLException
Gets a connection which may be pooled by the app server or middleware implementation of DataSource.

Specified by:
getPooledConnection in interface javax.sql.ConnectionPoolDataSource
Throws:
java.sql.SQLException - Occurs when the physical database connection cannot be established.

getPooledConnection

public javax.sql.PooledConnection getPooledConnection(java.lang.String user,
                                                      java.lang.String password)
                                               throws java.sql.SQLException
Gets a connection which may be pooled by the app server or middleware implementation of DataSource.

Specified by:
getPooledConnection in interface javax.sql.ConnectionPoolDataSource
Throws:
java.sql.SQLException - Occurs when the physical database connection cannot be established.

isDefaultAutoCommit

public boolean isDefaultAutoCommit()
Gets whether connections supplied by this pool will have autoCommit turned on by default. The default value is false, so that autoCommit will be turned off by default.


setDefaultAutoCommit

public void setDefaultAutoCommit(boolean defaultAutoCommit)
Sets whether connections supplied by this pool will have autoCommit turned on by default. The default value is false, so that autoCommit will be turned off by default.