<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_18) on Sun Apr 01 21:18:05 PDT 2012 -->
<TITLE>
ConnectionPool
</TITLE>

<META NAME="keywords" CONTENT="org.apache.xalan.lib.sql.ConnectionPool interface">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="ConnectionPool";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ConnectionPool.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../../../org/apache/xalan/lib/sql/ConnectionPoolManager.html" title="class in org.apache.xalan.lib.sql"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/xalan/lib/sql/ConnectionPool.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ConnectionPool.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.xalan.lib.sql</FONT>
<BR>
Interface ConnectionPool</H2>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../../org/apache/xalan/lib/sql/DefaultConnectionPool.html" title="class in org.apache.xalan.lib.sql">DefaultConnectionPool</A>, <A HREF="../../../../../org/apache/xalan/lib/sql/JNDIConnectionPool.html" title="class in org.apache.xalan.lib.sql">JNDIConnectionPool</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/ConnectionPool.html#line.35"><B>ConnectionPool</B></A></DL>
</PRE>

<P>
An interface used to build wrapper classes around existing
 Connection Pool libraries.
 Title:     ConnectionPool<p>
<P>

<P>
<HR>

<P>

<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/ConnectionPool.html#freeUnused()">freeUnused</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Start downsizeing the pool, this usally happens right after the
 pool has been marked as Inactive and we are removing connections
 that are not currently inuse.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.sql.Connection</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/ConnectionPool.html#getConnection()">getConnection</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrive a database connection from the pool</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/ConnectionPool.html#hasActiveConnections()">hasActiveConnections</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provide an indicator to the PoolManager when the Pool can be removed
 from the Pool Table.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/ConnectionPool.html#isEnabled()">isEnabled</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine if a Connection Pool has been disabled.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/ConnectionPool.html#releaseConnection(java.sql.Connection)">releaseConnection</A></B>(java.sql.Connection&nbsp;con)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/ConnectionPool.html#releaseConnectionOnError(java.sql.Connection)">releaseConnectionOnError</A></B>(java.sql.Connection&nbsp;con)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provide a mechinism to return a connection to the pool on Error.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/ConnectionPool.html#setDriver(java.lang.String)">setDriver</A></B>(java.lang.String&nbsp;d)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Driver and URL are the only required parmeters.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/ConnectionPool.html#setMinConnections(int)">setMinConnections</A></B>(int&nbsp;n)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set tne minimum number of connections that are to be maintained in the
 pool.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/ConnectionPool.html#setPassword(java.lang.String)">setPassword</A></B>(java.lang.String&nbsp;p)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The rest of the protocol parameters can eiter be passed in as
 just Username and Password or as a property collection.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/ConnectionPool.html#setPoolEnabled(boolean)">setPoolEnabled</A></B>(boolean&nbsp;flag)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Pool can be Enabled and Disabled.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/ConnectionPool.html#setProtocol(java.util.Properties)">setProtocol</A></B>(java.util.Properties&nbsp;p)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used to pass in extra configuration options during the
 database connect phase.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/ConnectionPool.html#setURL(java.lang.String)">setURL</A></B>(java.lang.String&nbsp;url)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/ConnectionPool.html#setUser(java.lang.String)">setUser</A></B>(java.lang.String&nbsp;u)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/ConnectionPool.html#testConnection()">testConnection</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test to see if the connection info is valid to make a real connection
 to the database.</TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="isEnabled()"><!-- --></A><H3>
isEnabled</H3>
<PRE>
boolean <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/ConnectionPool.html#line.43"><B>isEnabled</B></A>()</PRE>
<DL>
<DD>Determine if a Connection Pool has been disabled. If a Connection pool
 is disabled, then it will only manage connections that are in use.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setDriver(java.lang.String)"><!-- --></A><H3>
setDriver</H3>
<PRE>
void <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/ConnectionPool.html#line.50"><B>setDriver</B></A>(java.lang.String&nbsp;d)</PRE>
<DL>
<DD>The Driver and URL are the only required parmeters.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>d</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="setURL(java.lang.String)"><!-- --></A><H3>
setURL</H3>
<PRE>
void <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/ConnectionPool.html#line.56"><B>setURL</B></A>(java.lang.String&nbsp;url)</PRE>
<DL>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>url</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="freeUnused()"><!-- --></A><H3>
freeUnused</H3>
<PRE>
void <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/ConnectionPool.html#line.64"><B>freeUnused</B></A>()</PRE>
<DL>
<DD>Start downsizeing the pool, this usally happens right after the
 pool has been marked as Inactive and we are removing connections
 that are not currently inuse.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="hasActiveConnections()"><!-- --></A><H3>
hasActiveConnections</H3>
<PRE>
boolean <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/ConnectionPool.html#line.72"><B>hasActiveConnections</B></A>()</PRE>
<DL>
<DD>Provide an indicator to the PoolManager when the Pool can be removed
 from the Pool Table.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setPassword(java.lang.String)"><!-- --></A><H3>
setPassword</H3>
<PRE>
void <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/ConnectionPool.html#line.85"><B>setPassword</B></A>(java.lang.String&nbsp;p)</PRE>
<DL>
<DD>The rest of the protocol parameters can eiter be passed in as
 just Username and Password or as a property collection. If the
 property collection is used, then the sperate username and password
 may be ignored, it is up to the wrapper implementation to handle
 the situation. If the connection information changes while after the
 pool has been established, the wrapper implementation should ignore
 the change and throw an error.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>p</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="setUser(java.lang.String)"><!-- --></A><H3>
setUser</H3>
<PRE>
void <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/ConnectionPool.html#line.91"><B>setUser</B></A>(java.lang.String&nbsp;u)</PRE>
<DL>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>u</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="setMinConnections(int)"><!-- --></A><H3>
setMinConnections</H3>
<PRE>
void <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/ConnectionPool.html#line.100"><B>setMinConnections</B></A>(int&nbsp;n)</PRE>
<DL>
<DD>Set tne minimum number of connections that are to be maintained in the
 pool.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>n</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="testConnection()"><!-- --></A><H3>
testConnection</H3>
<PRE>
boolean <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/ConnectionPool.html#line.108"><B>testConnection</B></A>()</PRE>
<DL>
<DD>Test to see if the connection info is valid to make a real connection
 to the database. This method may cause the pool to be crated and filled
 with min connections.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getConnection()"><!-- --></A><H3>
getConnection</H3>
<PRE>
java.sql.Connection <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/ConnectionPool.html#line.115"><B>getConnection</B></A>()
                                  throws java.sql.SQLException</PRE>
<DL>
<DD>Retrive a database connection from the pool
<P>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.sql.SQLException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="releaseConnection(java.sql.Connection)"><!-- --></A><H3>
releaseConnection</H3>
<PRE>
void <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/ConnectionPool.html#line.124"><B>releaseConnection</B></A>(java.sql.Connection&nbsp;con)
                       throws java.sql.SQLException</PRE>
<DL>
<DD>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
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>con</CODE> - 
<DT><B>Throws:</B>
<DD><CODE>java.sql.SQLException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="releaseConnectionOnError(java.sql.Connection)"><!-- --></A><H3>
releaseConnectionOnError</H3>
<PRE>
void <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/ConnectionPool.html#line.135"><B>releaseConnectionOnError</B></A>(java.sql.Connection&nbsp;con)
                              throws java.sql.SQLException</PRE>
<DL>
<DD>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.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>con</CODE> - 
<DT><B>Throws:</B>
<DD><CODE>java.sql.SQLException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setPoolEnabled(boolean)"><!-- --></A><H3>
setPoolEnabled</H3>
<PRE>
void <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/ConnectionPool.html#line.148"><B>setPoolEnabled</B></A>(boolean&nbsp;flag)</PRE>
<DL>
<DD>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.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>flag</CODE> - 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.</DL>
</DD>
</DL>
<HR>

<A NAME="setProtocol(java.util.Properties)"><!-- --></A><H3>
setProtocol</H3>
<PRE>
void <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/ConnectionPool.html#line.154"><B>setProtocol</B></A>(java.util.Properties&nbsp;p)</PRE>
<DL>
<DD>Used to pass in extra configuration options during the
 database connect phase.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ConnectionPool.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../../../org/apache/xalan/lib/sql/ConnectionPoolManager.html" title="class in org.apache.xalan.lib.sql"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/xalan/lib/sql/ConnectionPool.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ConnectionPool.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>

</BODY>
</HTML>
