org.apache.xalan.lib.sql

## Class DefaultConnectionPool

- java.lang.Object
- - org.apache.xalan.lib.sql.DefaultConnectionPool

All Implemented Interfaces:
  ConnectionPool

    public class DefaultConnectionPool
    extends java.lang.Object
    implements ConnectionPool

For internal connectiones, i.e. Connection information supplies in the Stylesheet. The Default Connection Pool will be used.

### Constructor Summary

Constructors
Constructor and Description
`DefaultConnectionPool()`

### Method Summary

Methods
`void` `freeUnused()` Go through the connection pool and release any connections that are not InUse;
`java.sql.Connection` `getConnection()` Retrive a database connection from the pool
`boolean` `hasActiveConnections()` Is our ConnectionPool have any connections that are still in Use ??
`void` `initializePool()`
`boolean` `isEnabled()` Return our current Active state
`void` `releaseConnection(java.sql.Connection con)` Return a connection to the pool, the connection may be closed if the pool is inactive or has exceeded the max number of free connections
`void` `releaseConnectionOnError(java.sql.Connection con)` Provide a mechinism to return a connection to the pool on Error.
`void` `setDriver(java.lang.String d)` Set the driver call to be used to create connections
`void` `setMinConnections(int n)` Override the current number of connections to keep in the pool.
`void` `setPassword(java.lang.String p)` Set the password in the property set.
`void` `setPoolEnabled(boolean flag)` The Pool can be Enabled and Disabled.
`void` `setProtocol(java.util.Properties p)` The Protocol string is used to pass in other connection properties.
`void` `setURL(java.lang.String url)` Set the url used to connect to the database
`void` `setUser(java.lang.String u)` Set the user name in the property set
`boolean` `testConnection()` Try to aquire a new connection, if it succeeds then return true, else return false.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### DefaultConnectionPool

    public DefaultConnectionPool()

### Method Detail

#### isEnabled

    public boolean isEnabled()

Return our current Active state

Specified by:
  `isEnabled` in interface `ConnectionPool`

#### setDriver

    public void setDriver(java.lang.String d)

Set the driver call to be used to create connections

Specified by:
  `setDriver` in interface `ConnectionPool`
Parameters:
  `d` -

#### setURL

    public void setURL(java.lang.String url)

Set the url used to connect to the database

Specified by:
  `setURL` in interface `ConnectionPool`
Parameters:
  `url` -

#### freeUnused

    public void freeUnused()

Go through the connection pool and release any connections that are not InUse;

Specified by:
  `freeUnused` in interface `ConnectionPool`

#### hasActiveConnections

    public boolean hasActiveConnections()

Is our ConnectionPool have any connections that are still in Use ??

Specified by:
  `hasActiveConnections` in interface `ConnectionPool`

#### setPassword

    public void setPassword(java.lang.String p)

Set the password in the property set.

Specified by:
  `setPassword` in interface `ConnectionPool`
Parameters:
  `p` -

#### setUser

    public void setUser(java.lang.String u)

Set the user name in the property set

Specified by:
  `setUser` in interface `ConnectionPool`
Parameters:
  `u` -

#### setProtocol

    public void setProtocol(java.util.Properties p)

The Protocol string is used to pass in other connection properties. A properties file is a general purpose container

Specified by:
  `setProtocol` in interface `ConnectionPool`
Parameters:
  `p` -

#### setMinConnections

    public void setMinConnections(int n)

Override the current number of connections to keep in the pool. This setting will only have effect on a new pool or when a new connection is requested and there is less connections that this setting.

Specified by:
  `setMinConnections` in interface `ConnectionPool`
Parameters:
  `n` -

#### testConnection

    public boolean testConnection()

Try to aquire a new connection, if it succeeds then return true, else return false. Note: This method will cause the connection pool to be built.

Specified by:
  `testConnection` in interface `ConnectionPool`

#### getConnection

    public java.sql.Connection getConnection()
                                      throws java.lang.IllegalArgumentException,
                                             java.sql.SQLException

Description copied from interface: `ConnectionPool`
Retrive a database connection from the pool

Specified by:
  `getConnection` in interface `ConnectionPool`
Returns:
  Connection
Throws:
  `java.sql.SQLException`
  `java.lang.IllegalArgumentException`

#### releaseConnection

    public void releaseConnection(java.sql.Connection con)
                           throws java.sql.SQLException

Description copied from interface: `ConnectionPool`
Return a connection to the pool, the connection may be closed if the pool is inactive or has exceeded the max number of free connections

Specified by:
  `releaseConnection` in interface `ConnectionPool`
Parameters:
  `con` -
Throws:
  `java.sql.SQLException`

#### releaseConnectionOnError

    public void releaseConnectionOnError(java.sql.Connection con)
                                  throws java.sql.SQLException

Description copied from interface: `ConnectionPool`
Provide a mechinism to return a connection to the pool on Error. A good default behaviour is to close this connection and build a new one to replace it. Some JDBC impl's won't allow you to reuse a connection after an error occurs.

Specified by:
  `releaseConnectionOnError` in interface `ConnectionPool`
Parameters:
  `con` -
Throws:
  `java.sql.SQLException`

#### initializePool

    public void initializePool()
                        throws java.lang.IllegalArgumentException,
                               java.sql.SQLException

Throws:
  `java.lang.IllegalArgumentException`
  `java.sql.SQLException`

#### setPoolEnabled

    public void setPoolEnabled(boolean flag)

The Pool can be Enabled and Disabled. Disabling the pool closes all the outstanding Unused connections and any new connections will be closed upon release.

Specified by:
  `setPoolEnabled` in interface `ConnectionPool`
Parameters:
  `flag` - Control the Connection Pool. If it is enabled then Connections will actuall be held around. If disabled then all unused connections will be instantly closed and as connections are released they are closed and removed from the pool.