Added: 
websites/production/commons/content/proper/commons-pool/api-2.3/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html
==============================================================================
--- 
websites/production/commons/content/proper/commons-pool/api-2.3/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html
 (added)
+++ 
websites/production/commons/content/proper/commons-pool/api-2.3/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html
 Wed Dec 31 14:00:19 2014
@@ -0,0 +1,1136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1">
+<title>GenericKeyedObjectPool (Apache Commons Pool 2.3 API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" 
title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="GenericKeyedObjectPool (Apache Commons Pool 2.3 
API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a 
name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/GenericKeyedObjectPool.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/commons/pool2/impl/EvictionPolicy.html" 
title="interface in org.apache.commons.pool2.impl"><span class="strong">Prev 
Class</span></a></li>
+<li><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolConfig.html"
 title="class in org.apache.commons.pool2.impl"><span class="strong">Next 
Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a 
href="../../../../../index.html?org/apache/commons/pool2/impl/GenericKeyedObjectPool.html"
 target="_top">Frames</a></li>
+<li><a href="GenericKeyedObjectPool.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a 
href="#fields_inherited_from_class_org.apache.commons.pool2.impl.BaseGenericObjectPool">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.commons.pool2.impl</div>
+<h2 title="Class GenericKeyedObjectPool" class="title">Class 
GenericKeyedObjectPool&lt;K,T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true";
 title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html" 
title="class in 
org.apache.commons.pool2.impl">org.apache.commons.pool2.impl.BaseGenericObjectPool</a>&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.commons.pool2.impl.GenericKeyedObjectPool&lt;K,T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl><dt><span class="strong">Type Parameters:</span></dt><dd><code>K</code> - 
The type of keys maintained by this pool.</dd><dd><code>T</code> - Type of 
element pooled in this pool.</dd></dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html"
 title="interface in 
org.apache.commons.pool2.impl">GenericKeyedObjectPoolMXBean</a>&lt;K&gt;, <a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html" 
title="interface in 
org.apache.commons.pool2">KeyedObjectPool</a>&lt;K,T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.77">GenericKeyedObjectPool</a>&lt;K,T&gt;
+extends <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html" 
title="class in 
org.apache.commons.pool2.impl">BaseGenericObjectPool</a>&lt;T&gt;
+implements <a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html" 
title="interface in org.apache.commons.pool2">KeyedObjectPool</a>&lt;K,T&gt;, 
<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html"
 title="interface in 
org.apache.commons.pool2.impl">GenericKeyedObjectPoolMXBean</a>&lt;K&gt;</pre>
+<div class="block">A configurable <code>KeyedObjectPool</code> implementation.
+ <p>
+ When coupled with the appropriate <a 
href="../../../../../org/apache/commons/pool2/KeyedPooledObjectFactory.html" 
title="interface in 
org.apache.commons.pool2"><code>KeyedPooledObjectFactory</code></a>,
+ <code>GenericKeyedObjectPool</code> provides robust pooling functionality for
+ keyed objects. A <code>GenericKeyedObjectPool</code> can be viewed as a map
+ of sub-pools, keyed on the (unique) key values provided to the
+ <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#preparePool(K)"><code>preparePool</code></a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#addObject(K)"><code>addObject</code></a>
 or
+ <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#borrowObject(K)"><code>borrowObject</code></a>
 methods. Each time a new key value is
+ provided to one of these methods, a sub-new pool is created under the given
+ key to be managed by the containing <code>GenericKeyedObjectPool.</code>
+ <p>
+ Optionally, one may configure the pool to examine and possibly evict objects
+ as they sit idle in the pool and to ensure that a minimum number of idle
+ objects is maintained for each key. This is performed by an "idle object
+ eviction" thread, which runs asynchronously. Caution should be used when
+ configuring this optional feature. Eviction runs contend with client threads
+ for access to objects in the pool, so if they run too frequently performance
+ issues may result.
+ <p>
+ Implementation note: To prevent possible deadlocks, care has been taken to
+ ensure that no call to a factory method will occur within a synchronization
+ block. See POOL-125 and DBCP-44 for more information.
+ <p>
+ This class is intended to be thread-safe.</div>
+<dl><dt><span class="strong">Since:</span></dt>
+  <dd>2.0</dd>
+<dt><span class="strong">Version:</span></dt>
+  <dd>$Revision: 1627011 $</dd>
+<dt><span class="strong">See Also:</span></dt><dd><a 
href="../../../../../org/apache/commons/pool2/impl/GenericObjectPool.html" 
title="class in 
org.apache.commons.pool2.impl"><code>GenericObjectPool</code></a></dd></dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a 
name="fields_inherited_from_class_org.apache.commons.pool2.impl.BaseGenericObjectPool">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.commons.pool2.impl.<a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html" 
title="class in org.apache.commons.pool2.impl">BaseGenericObjectPool</a></h3>
+<code><a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#MEAN_TIMING_STATS_CACHE_SIZE">MEAN_TIMING_STATS_CACHE_SIZE</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" 
summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#GenericKeyedObjectPool(org.apache.commons.pool2.KeyedPooledObjectFactory)">GenericKeyedObjectPool</a></strong>(<a
 href="../../../../../org/apache/commons/pool2/KeyedPooledObjectFactory.html" 
title="interface in 
org.apache.commons.pool2">KeyedPooledObjectFactory</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>,<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;&nbsp;factory)</code>
+<div class="block">Create a new <code>GenericKeyedObjectPool</code> using 
defaults from
+ <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolConfig.html"
 title="class in 
org.apache.commons.pool2.impl"><code>GenericKeyedObjectPoolConfig</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#GenericKeyedObjectPool(org.apache.commons.pool2.KeyedPooledObjectFactory,%20org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig)">GenericKeyedObjectPool</a></strong>(<a
 href="../../../../../org/apache/commons/pool2/KeyedPooledObjectFactory.html" 
title="interface in 
org.apache.commons.pool2">KeyedPooledObjectFactory</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>,<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;&nbsp;factory,
+                                            <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolConfig.html"
 title="class in 
org.apache.commons.pool2.impl">GenericKeyedObjectPoolConfig</a>&nbsp;config)</code>
+<div class="block">Create a new <code>GenericKeyedObjectPool</code> using a 
specific
+ configuration.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" 
summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#addObject(K)">addObject</a></strong>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&nbsp;key)</code>
+<div class="block">Create an object using the <a 
href="../../../../../org/apache/commons/pool2/KeyedPooledObjectFactory.html#makeObject(K)"><code>factory</code></a>,
 passivate it, and then place it in the idle object pool.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a></code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#borrowObject(K)">borrowObject</a></strong>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&nbsp;key)</code>
+<div class="block">Equivalent to <code><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#borrowObject(K,%20long)"><code>borrowObject</code></a>(key,
+ <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getMaxWaitMillis()"><code>BaseGenericObjectPool.getMaxWaitMillis()</code></a>)</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a></code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#borrowObject(K,%20long)">borrowObject</a></strong>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&nbsp;key,
+                        long&nbsp;borrowMaxWaitMillis)</code>
+<div class="block">Borrows an object from the sub-pool associated with the 
given key using
+ the specified waiting time which only applies if
+ <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getBlockWhenExhausted()"><code>BaseGenericObjectPool.getBlockWhenExhausted()</code></a>
 is true.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#clear()">clear</a></strong>()</code>
+<div class="block">Clears any objects sitting idle in the pool by removing 
them from the
+ idle instance sub-pools and then invoking the configured
+ PoolableObjectFactory's
+ <a 
href="../../../../../org/apache/commons/pool2/KeyedPooledObjectFactory.html#destroyObject(K,%20org.apache.commons.pool2.PooledObject)"><code>KeyedPooledObjectFactory.destroyObject(Object,
 PooledObject)</code></a>
+ method on each idle instance.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#clear(K)">clear</a></strong>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&nbsp;key)</code>
+<div class="block">Clears the specified sub-pool, removing all pooled instances
+ corresponding to the given <code>key</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#clearOldest()">clearOldest</a></strong>()</code>
+<div class="block">Clears oldest 15% of objects in pool.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#close()">close</a></strong>()</code>
+<div class="block">Closes the keyed object pool.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#evict()">evict</a></strong>()</code>
+<div class="block">Perform <code>numTests</code> idle object eviction tests, 
evicting
+ examined objects that meet the criteria for eviction.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a 
href="../../../../../org/apache/commons/pool2/KeyedPooledObjectFactory.html" 
title="interface in 
org.apache.commons.pool2">KeyedPooledObjectFactory</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>,<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getFactory()">getFactory</a></strong>()</code>
+<div class="block">Obtain a reference to the factory used to create, destroy 
and validate
+ the objects used by this pool.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getMaxIdlePerKey()">getMaxIdlePerKey</a></strong>()</code>
+<div class="block">Returns the cap on the number of "idle" instances per key 
in the pool.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getMaxTotalPerKey()">getMaxTotalPerKey</a></strong>()</code>
+<div class="block">Returns the limit on the number of object instances 
allocated by the pool
+ (checked out or idle), per key.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getMinIdlePerKey()">getMinIdlePerKey</a></strong>()</code>
+<div class="block">Returns the target for the minimum number of idle objects 
to maintain in
+ each of the keyed sub-pools.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getNumActive()">getNumActive</a></strong>()</code>
+<div class="block">Returns the total number of instances current borrowed from 
this pool but
+ not yet returned.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getNumActive(K)">getNumActive</a></strong>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&nbsp;key)</code>
+<div class="block">Returns the number of instances currently borrowed from but 
not yet
+ returned to the pool corresponding to the given <code>key</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a 
href="http://docs.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true";
 title="class or interface in java.util">Map</a>&lt;<a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>,<a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Integer.html?is-external=true";
 title="class or interface in java.lang">Integer</a>&gt;</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getNumActivePerKey()">getNumActivePerKey</a></strong>()</code>
+<div class="block">See <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getNumActivePerKey()"><code>getNumActivePerKey()</code></a></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getNumIdle()">getNumIdle</a></strong>()</code>
+<div class="block">The number of instances currently idle in this pool.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getNumIdle(K)">getNumIdle</a></strong>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&nbsp;key)</code>
+<div class="block">Returns the number of instances corresponding to the given
+ <code>key</code> currently idle in this pool.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getNumWaiters()">getNumWaiters</a></strong>()</code>
+<div class="block">Return an estimate of the number of threads currently 
blocked waiting for
+ an object from the pool.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a 
href="http://docs.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true";
 title="class or interface in java.util">Map</a>&lt;<a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>,<a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Integer.html?is-external=true";
 title="class or interface in java.lang">Integer</a>&gt;</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getNumWaitersByKey()">getNumWaitersByKey</a></strong>()</code>
+<div class="block">Return an estimate of the number of threads currently 
blocked waiting for
+ an object from the pool for each key.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#invalidateObject(K,%20T)">invalidateObject</a></strong>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&nbsp;key,
+                                <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&nbsp;obj)</code>
+<div class="block">Invalidates an object from the pool.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a 
href="http://docs.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true";
 title="class or interface in java.util">Map</a>&lt;<a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>,<a 
href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true";
 title="class or interface in java.util">List</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/DefaultPooledObjectInfo.html"
 title="class in 
org.apache.commons.pool2.impl">DefaultPooledObjectInfo</a>&gt;&gt;</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#listAllObjects()">listAllObjects</a></strong>()</code>
+<div class="block">Provides information on all the objects in the pool, both 
idle (waiting
+ to be borrowed) and active (currently borrowed).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#preparePool(K)">preparePool</a></strong>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&nbsp;key)</code>
+<div class="block">Registers a key for pool control and ensures that
+ <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getMinIdlePerKey()"><code>getMinIdlePerKey()</code></a>
 idle instances are created.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#returnObject(K,%20T)">returnObject</a></strong>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&nbsp;key,
+                        <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&nbsp;obj)</code>
+<div class="block">Returns an object to a keyed sub-pool.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#setConfig(org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig)">setConfig</a></strong>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolConfig.html"
 title="class in 
org.apache.commons.pool2.impl">GenericKeyedObjectPoolConfig</a>&nbsp;conf)</code>
+<div class="block">Sets the configuration.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#setMaxIdlePerKey(int)">setMaxIdlePerKey</a></strong>(int&nbsp;maxIdlePerKey)</code>
+<div class="block">Sets the cap on the number of "idle" instances per key in 
the pool.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#setMaxTotalPerKey(int)">setMaxTotalPerKey</a></strong>(int&nbsp;maxTotalPerKey)</code>
+<div class="block">Sets the limit on the number of object instances allocated 
by the pool
+ (checked out or idle), per key.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#setMinIdlePerKey(int)">setMinIdlePerKey</a></strong>(int&nbsp;minIdlePerKey)</code>
+<div class="block">Sets the target for the minimum number of idle objects to 
maintain in
+ each of the keyed sub-pools.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a 
name="methods_inherited_from_class_org.apache.commons.pool2.impl.BaseGenericObjectPool">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.commons.pool2.impl.<a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html" 
title="class in org.apache.commons.pool2.impl">BaseGenericObjectPool</a></h3>
+<code><a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getBlockWhenExhausted()">getBlockWhenExhausted</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getBorrowedCount()">getBorrowedCount</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getCreatedCount()">getCreatedCount</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getCreationStackTrace()">getCreationStackTrace</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getDestroyedByBorrowValidationCount()">getDestroyedByBorrowValidationCount</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getDestroyedByEvictorCount()">getDestroyedByEvictorCount</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getDestroyedCount()">getDestroyedCount</a>,
 <a href="../../../../../org/apache/commons/pool2/imp
 
l/BaseGenericObjectPool.html#getEvictionPolicyClassName()">getEvictionPolicyClassName</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getFairness()">getFairness</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getJmxName()">getJmxName</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getLifo()">getLifo</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getMaxBorrowWaitTimeMillis()">getMaxBorrowWaitTimeMillis</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getMaxTotal()">getMaxTotal</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getMaxWaitMillis()">getMaxWaitMillis</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getMeanActiveTimeMillis()">getMeanActiveTimeMillis</a>,
 <a href="../../../../../org/apache/commons/pool2/impl/BaseGen
 
ericObjectPool.html#getMeanBorrowWaitTimeMillis()">getMeanBorrowWaitTimeMillis</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getMeanIdleTimeMillis()">getMeanIdleTimeMillis</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getMinEvictableIdleTimeMillis()">getMinEvictableIdleTimeMillis</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getNumTestsPerEvictionRun()">getNumTestsPerEvictionRun</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getReturnedCount()">getReturnedCount</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getSoftMinEvictableIdleTimeMillis()">getSoftMinEvictableIdleTimeMillis</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getSwallowedExceptionListener()">getSwallowedExceptionListener</a>,
 <a href="../../../../../org/apache/commons/pool2/impl/BaseGen
 ericObjectPool.html#getTestOnBorrow()">getTestOnBorrow</a>, <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getTestOnCreate()">getTestOnCreate</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getTestOnReturn()">getTestOnReturn</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getTestWhileIdle()">getTestWhileIdle</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getTimeBetweenEvictionRunsMillis()">getTimeBetweenEvictionRunsMillis</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#isClosed()">isClosed</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#setBlockWhenExhausted(boolean)">setBlockWhenExhausted</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#setEvictionPolicyClassName(java.lang.String)">setEvictionPolicyClassName</a>,
 <a href="..
 
/../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#setLifo(boolean)">setLifo</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#setMaxTotal(int)">setMaxTotal</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#setMaxWaitMillis(long)">setMaxWaitMillis</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#setMinEvictableIdleTimeMillis(long)">setMinEvictableIdleTimeMillis</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#setNumTestsPerEvictionRun(int)">setNumTestsPerEvictionRun</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#setSoftMinEvictableIdleTimeMillis(long)">setSoftMinEvictableIdleTimeMillis</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#setSwallowedExceptionListener(org.apache.commons.pool2.SwallowedExceptionListener)">setSwallowedExceptionListener<
 /a>, <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#setTestOnBorrow(boolean)">setTestOnBorrow</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#setTestOnCreate(boolean)">setTestOnCreate</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#setTestOnReturn(boolean)">setTestOnReturn</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#setTestWhileIdle(boolean)">setTestWhileIdle</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#setTimeBetweenEvictionRunsMillis(long)">setTimeBetweenEvictionRunsMillis</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true";
 title="class or interface in java.lang">Object</a></h3>
+<code><a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()"
 title="class or interface in java.lang">clone</a>, <a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)"
 title="class or interface in java.lang">equals</a>, <a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()"
 title="class or interface in java.lang">finalize</a>, <a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()"
 title="class or interface in java.lang">getClass</a>, <a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()"
 title="class or interface in java.lang">hashCode</a>, <a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()"
 title="class or interface in java.lang">notify</a>, <a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in 
java.lang">notifyAll</a>, <a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()"
 title="class or interface in java.lang">toString</a>, <a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()"
 title="class or interface in java.lang">wait</a>, <a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)"
 title="class or interface in java.lang">wait</a>, <a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)"
 title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a 
name="methods_inherited_from_class_org.apache.commons.pool2.impl.GenericKeyedObjectPoolMXBean">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.commons.pool2.impl.<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html"
 title="interface in 
org.apache.commons.pool2.impl">GenericKeyedObjectPoolMXBean</a></h3>
+<code><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getBlockWhenExhausted()">getBlockWhenExhausted</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getBorrowedCount()">getBorrowedCount</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getCreatedCount()">getCreatedCount</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getCreationStackTrace()">getCreationStackTrace</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getDestroyedByBorrowValidationCount()">getDestroyedByBorrowValidationCount</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getDestroyedByEvictorCount()">getDestroyedByEvictorCount</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getDestroyedCount()">getDestroyedCount</a>,
 <a 
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getFairness()">getFairness</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getLifo()">getLifo</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getMaxBorrowWaitTimeMillis()">getMaxBorrowWaitTimeMillis</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getMaxTotal()">getMaxTotal</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getMaxWaitMillis()">getMaxWaitMillis</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getMeanActiveTimeMillis()">getMeanActiveTimeMillis</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getMeanBorrowWaitTimeMillis()">getMeanBorrowWaitTimeMillis</a>,
 <a href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObject
 PoolMXBean.html#getMeanIdleTimeMillis()">getMeanIdleTimeMillis</a>, <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getMinEvictableIdleTimeMillis()">getMinEvictableIdleTimeMillis</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getNumTestsPerEvictionRun()">getNumTestsPerEvictionRun</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getReturnedCount()">getReturnedCount</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getTestOnBorrow()">getTestOnBorrow</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getTestOnCreate()">getTestOnCreate</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getTestOnReturn()">getTestOnReturn</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getTestWhileIdle()">get
 TestWhileIdle</a>, <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getTimeBetweenEvictionRunsMillis()">getTimeBetweenEvictionRunsMillis</a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#isClosed()">isClosed</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a 
name="GenericKeyedObjectPool(org.apache.commons.pool2.KeyedPooledObjectFactory)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>GenericKeyedObjectPool</h4>
+<pre>public&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.85">GenericKeyedObjectPool</a>(<a
 href="../../../../../org/apache/commons/pool2/KeyedPooledObjectFactory.html" 
title="interface in 
org.apache.commons.pool2">KeyedPooledObjectFactory</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>,<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;&nbsp;factory)</pre>
+<div class="block">Create a new <code>GenericKeyedObjectPool</code> using 
defaults from
+ <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolConfig.html"
 title="class in 
org.apache.commons.pool2.impl"><code>GenericKeyedObjectPoolConfig</code></a>.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>factory</code> - 
the factory to be used to create entries</dd></dl>
+</li>
+</ul>
+<a 
name="GenericKeyedObjectPool(org.apache.commons.pool2.KeyedPooledObjectFactory, 
org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>GenericKeyedObjectPool</h4>
+<pre>public&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.99">GenericKeyedObjectPool</a>(<a
 href="../../../../../org/apache/commons/pool2/KeyedPooledObjectFactory.html" 
title="interface in 
org.apache.commons.pool2">KeyedPooledObjectFactory</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>,<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;&nbsp;factory,
+                      <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolConfig.html"
 title="class in 
org.apache.commons.pool2.impl">GenericKeyedObjectPoolConfig</a>&nbsp;config)</pre>
+<div class="block">Create a new <code>GenericKeyedObjectPool</code> using a 
specific
+ configuration.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>factory</code> - 
the factory to be used to create entries</dd><dd><code>config</code> - The 
configuration to use for this pool instance. The
+                  configuration is used by value. Subsequent changes to
+                  the configuration object will not be reflected in the
+                  pool.</dd></dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getMaxTotalPerKey()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxTotalPerKey</h4>
+<pre>public&nbsp;int&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.126">getMaxTotalPerKey</a>()</pre>
+<div class="block">Returns the limit on the number of object instances 
allocated by the pool
+ (checked out or idle), per key. When the limit is reached, the sub-pool
+ is said to be exhausted. A negative value indicates no limit.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getMaxTotalPerKey()">getMaxTotalPerKey</a></code>&nbsp;in
 interface&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html"
 title="interface in 
org.apache.commons.pool2.impl">GenericKeyedObjectPoolMXBean</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&gt;</code></dd>
+<dt><span class="strong">Returns:</span></dt><dd>the limit on the number of 
active instances per key</dd><dt><span class="strong">See 
Also:</span></dt><dd><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#setMaxTotalPerKey(int)"><code>setMaxTotalPerKey(int)</code></a></dd></dl>
+</li>
+</ul>
+<a name="setMaxTotalPerKey(int)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxTotalPerKey</h4>
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.139">setMaxTotalPerKey</a>(int&nbsp;maxTotalPerKey)</pre>
+<div class="block">Sets the limit on the number of object instances allocated 
by the pool
+ (checked out or idle), per key. When the limit is reached, the sub-pool
+ is said to be exhausted. A negative value indicates no limit.</div>
+<dl><dt><span 
class="strong">Parameters:</span></dt><dd><code>maxTotalPerKey</code> - the 
limit on the number of active instances per key</dd><dt><span 
class="strong">See Also:</span></dt><dd><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getMaxTotalPerKey()"><code>getMaxTotalPerKey()</code></a></dd></dl>
+</li>
+</ul>
+<a name="getMaxIdlePerKey()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxIdlePerKey</h4>
+<pre>public&nbsp;int&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.160">getMaxIdlePerKey</a>()</pre>
+<div class="block">Returns the cap on the number of "idle" instances per key 
in the pool.
+ If maxIdlePerKey is set too low on heavily loaded systems it is possible
+ you will see objects being destroyed and almost immediately new objects
+ being created. This is a result of the active threads momentarily
+ returning objects faster than they are requesting them them, causing the
+ number of idle objects to rise above maxIdlePerKey. The best value for
+ maxIdlePerKey for heavily loaded system will vary but the default is a
+ good starting point.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getMaxIdlePerKey()">getMaxIdlePerKey</a></code>&nbsp;in
 interface&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html"
 title="interface in 
org.apache.commons.pool2.impl">GenericKeyedObjectPoolMXBean</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&gt;</code></dd>
+<dt><span class="strong">Returns:</span></dt><dd>the maximum number of "idle" 
instances that can be held in a
+         given keyed sub-pool or a negative value if there is no 
limit</dd><dt><span class="strong">See Also:</span></dt><dd><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#setMaxIdlePerKey(int)"><code>setMaxIdlePerKey(int)</code></a></dd></dl>
+</li>
+</ul>
+<a name="setMaxIdlePerKey(int)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxIdlePerKey</h4>
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.180">setMaxIdlePerKey</a>(int&nbsp;maxIdlePerKey)</pre>
+<div class="block">Sets the cap on the number of "idle" instances per key in 
the pool.
+ If maxIdlePerKey is set too low on heavily loaded systems it is possible
+ you will see objects being destroyed and almost immediately new objects
+ being created. This is a result of the active threads momentarily
+ returning objects faster than they are requesting them them, causing the
+ number of idle objects to rise above maxIdlePerKey. The best value for
+ maxIdlePerKey for heavily loaded system will vary but the default is a
+ good starting point.</div>
+<dl><dt><span 
class="strong">Parameters:</span></dt><dd><code>maxIdlePerKey</code> - the 
maximum number of "idle" instances that can be
+                      held in a given keyed sub-pool. Use a negative value
+                      for no limit</dd><dt><span class="strong">See 
Also:</span></dt><dd><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getMaxIdlePerKey()"><code>getMaxIdlePerKey()</code></a></dd></dl>
+</li>
+</ul>
+<a name="setMinIdlePerKey(int)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMinIdlePerKey</h4>
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.202">setMinIdlePerKey</a>(int&nbsp;minIdlePerKey)</pre>
+<div class="block">Sets the target for the minimum number of idle objects to 
maintain in
+ each of the keyed sub-pools. This setting only has an effect if it is
+ positive and <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getTimeBetweenEvictionRunsMillis()"><code>BaseGenericObjectPool.getTimeBetweenEvictionRunsMillis()</code></a>
 is greater than
+ zero. If this is the case, an attempt is made to ensure that each
+ sub-pool has the required minimum number of instances during idle object
+ eviction runs.
+ <p>
+ If the configured value of minIdlePerKey is greater than the configured
+ value for maxIdlePerKey then the value of maxIdlePerKey will be used
+ instead.</div>
+<dl><dt><span 
class="strong">Parameters:</span></dt><dd><code>minIdlePerKey</code> - The 
minimum size of the each keyed pool</dd><dt><span class="strong">See 
Also:</span></dt><dd><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getMinIdlePerKey()"><code>getMinIdlePerKey()</code></a>,
 
+<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getMaxIdlePerKey()"><code>getMaxIdlePerKey()</code></a>,
 
+<a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#setTimeBetweenEvictionRunsMillis(long)"><code>BaseGenericObjectPool.setTimeBetweenEvictionRunsMillis(long)</code></a></dd></dl>
+</li>
+</ul>
+<a name="getMinIdlePerKey()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMinIdlePerKey</h4>
+<pre>public&nbsp;int&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.223">getMinIdlePerKey</a>()</pre>
+<div class="block">Returns the target for the minimum number of idle objects 
to maintain in
+ each of the keyed sub-pools. This setting only has an effect if it is
+ positive and <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getTimeBetweenEvictionRunsMillis()"><code>BaseGenericObjectPool.getTimeBetweenEvictionRunsMillis()</code></a>
 is greater than
+ zero. If this is the case, an attempt is made to ensure that each
+ sub-pool has the required minimum number of instances during idle object
+ eviction runs.
+ <p>
+ If the configured value of minIdlePerKey is greater than the configured
+ value for maxIdlePerKey then the value of maxIdlePerKey will be used
+ instead.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getMinIdlePerKey()">getMinIdlePerKey</a></code>&nbsp;in
 interface&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html"
 title="interface in 
org.apache.commons.pool2.impl">GenericKeyedObjectPoolMXBean</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&gt;</code></dd>
+<dt><span class="strong">Returns:</span></dt><dd>minimum size of the each 
keyed pool</dd><dt><span class="strong">See Also:</span></dt><dd><a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#setTimeBetweenEvictionRunsMillis(long)"><code>BaseGenericObjectPool.setTimeBetweenEvictionRunsMillis(long)</code></a></dd></dl>
+</li>
+</ul>
+<a 
name="setConfig(org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setConfig</h4>
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.239">setConfig</a>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolConfig.html"
 title="class in 
org.apache.commons.pool2.impl">GenericKeyedObjectPoolConfig</a>&nbsp;conf)</pre>
+<div class="block">Sets the configuration.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>conf</code> - 
the new configuration to use. This is used by value.</dd><dt><span 
class="strong">See Also:</span></dt><dd><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolConfig.html"
 title="class in 
org.apache.commons.pool2.impl"><code>GenericKeyedObjectPoolConfig</code></a></dd></dl>
+</li>
+</ul>
+<a name="getFactory()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFactory</h4>
+<pre>public&nbsp;<a 
href="../../../../../org/apache/commons/pool2/KeyedPooledObjectFactory.html" 
title="interface in 
org.apache.commons.pool2">KeyedPooledObjectFactory</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>,<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.266">getFactory</a>()</pre>
+<div class="block">Obtain a reference to the factory used to create, destroy 
and validate
+ the objects used by this pool.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>the factory</dd></dl>
+</li>
+</ul>
+<a name="borrowObject(java.lang.Object)">
+<!--   -->
+</a><a name="borrowObject(K)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>borrowObject</h4>
+<pre>public&nbsp;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.277">borrowObject</a>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&nbsp;key)
+               throws <a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Equivalent to <code><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#borrowObject(K,%20long)"><code>borrowObject</code></a>(key,
+ <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getMaxWaitMillis()"><code>BaseGenericObjectPool.getMaxWaitMillis()</code></a>)</code>.
+ <p>
+ Obtains an instance from this pool for the specified <code>key</code>.
+ <p>
+ Instances returned from this method will have been either newly created
+ with <a 
href="../../../../../org/apache/commons/pool2/KeyedPooledObjectFactory.html#makeObject(K)"><code>makeObject</code></a>
 or will be
+ a previously idle object and have been activated with
+ <a 
href="../../../../../org/apache/commons/pool2/KeyedPooledObjectFactory.html#activateObject(K,%20org.apache.commons.pool2.PooledObject)"><code>activateObject</code></a>
 and then
+ (optionally) validated with
+ <a 
href="../../../../../org/apache/commons/pool2/KeyedPooledObjectFactory.html#validateObject(K,%20org.apache.commons.pool2.PooledObject)"><code>validateObject</code></a>.
+ <p>
+ By contract, clients <strong>must</strong> return the borrowed object
+ using <a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html#returnObject(K,%20V)"><code>returnObject</code></a>,
+ <a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html#invalidateObject(K,%20V)"><code>invalidateObject</code></a>,
 or a related method as
+ defined in an implementation or sub-interface, using a <code>key</code>
+ that is <a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)"
 title="class or interface in java.lang"><code>equivalent</code></a> to the one 
used to borrow the
+ instance in the first place.
+ <p>
+ The behaviour of this method when the pool has been exhausted is not
+ strictly specified (although it may be specified by implementations).</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html#borrowObject(K)">borrowObject</a></code>&nbsp;in
 interface&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html" 
title="interface in org.apache.commons.pool2">KeyedObjectPool</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>,<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;</code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - the key 
used to obtain the object</dd>
+<dt><span class="strong">Returns:</span></dt><dd>an instance from this 
pool.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true";
 title="class or interface in java.lang">IllegalStateException</a></code> - 
after <a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html#close()"><code>close</code></a>
 has been called on this pool</dd>
+<dd><code><a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></code> - when <a 
href="../../../../../org/apache/commons/pool2/KeyedPooledObjectFactory.html#makeObject(K)"><code>makeObject</code></a>
 throws an exception</dd>
+<dd><code><a 
href="http://docs.oracle.com/javase/6/docs/api/java/util/NoSuchElementException.html?is-external=true";
 title="class or interface in java.util">NoSuchElementException</a></code> - 
when the pool is exhausted and cannot or will not return
+              another instance</dd></dl>
+</li>
+</ul>
+<a name="borrowObject(java.lang.Object,long)">
+<!--   -->
+</a><a name="borrowObject(K, long)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>borrowObject</h4>
+<pre>public&nbsp;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.337">borrowObject</a>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&nbsp;key,
+             long&nbsp;borrowMaxWaitMillis)
+               throws <a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Borrows an object from the sub-pool associated with the 
given key using
+ the specified waiting time which only applies if
+ <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getBlockWhenExhausted()"><code>BaseGenericObjectPool.getBlockWhenExhausted()</code></a>
 is true.
+ <p>
+ If there is one or more idle instances available in the sub-pool
+ associated with the given key, then an idle instance will be selected
+ based on the value of <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getLifo()"><code>BaseGenericObjectPool.getLifo()</code></a>,
 activated and returned.  If
+ activation fails, or <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getTestOnBorrow()"><code>testOnBorrow</code></a>
 is set to
+ <code>true</code> and validation fails, the instance is destroyed and the
+ next available instance is examined.  This continues until either a valid
+ instance is returned or there are no more idle instances available.
+ <p>
+ If there are no idle instances available in the sub-pool associated with
+ the given key, behavior depends on the <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getMaxTotalPerKey()"><code>maxTotalPerKey</code></a>,
 <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getMaxTotal()"><code>maxTotal</code></a>,
 and (if applicable)
+ <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getBlockWhenExhausted()"><code>BaseGenericObjectPool.getBlockWhenExhausted()</code></a>
 and the value passed in to the
+ <code>borrowMaxWaitMillis</code> parameter. If the number of instances checked
+ out from the sub-pool under the given key is less than
+ <code>maxTotalPerKey</code> and the total number of instances in
+ circulation (under all keys) is less than <code>maxTotal</code>, a new
+ instance is created, activated and (if applicable) validated and returned
+ to the caller. If validation fails, a <code>NoSuchElementException</code>
+ will be thrown.
+ <p>
+ If the associated sub-pool is exhausted (no available idle instances and
+ no capacity to create new ones), this method will either block
+ (<a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getBlockWhenExhausted()"><code>BaseGenericObjectPool.getBlockWhenExhausted()</code></a>
 is true) or throw a
+ <code>NoSuchElementException</code>
+ (<a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getBlockWhenExhausted()"><code>BaseGenericObjectPool.getBlockWhenExhausted()</code></a>
 is false).
+ The length of time that this method will block when
+ <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getBlockWhenExhausted()"><code>BaseGenericObjectPool.getBlockWhenExhausted()</code></a>
 is true is determined by the value
+ passed in to the <code>borrowMaxWait</code> parameter.
+ <p>
+ When <code>maxTotal</code> is set to a positive value and this method is
+ invoked when at the limit with no idle instances available under the requested
+ key, an attempt is made to create room by clearing the oldest 15% of the
+ elements from the keyed sub-pools.
+ <p>
+ When the pool is exhausted, multiple calling threads may be
+ simultaneously blocked waiting for instances to become available. A
+ "fairness" algorithm has been implemented to ensure that threads receive
+ available instances in request arrival order.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - 
pool key</dd><dd><code>borrowMaxWaitMillis</code> - The time to wait in 
milliseconds for an object
+                            to become available</dd>
+<dt><span class="strong">Returns:</span></dt><dd>object instance from the 
keyed pool</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a 
href="http://docs.oracle.com/javase/6/docs/api/java/util/NoSuchElementException.html?is-external=true";
 title="class or interface in java.util">NoSuchElementException</a></code> - if 
a keyed object instance cannot be
+                                returned because the pool is exhausted.</dd>
+<dd><code><a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></code> - if a keyed 
object instance cannot be returned due to an
+                   error</dd></dl>
+</li>
+</ul>
+<a name="returnObject(java.lang.Object,java.lang.Object)">
+<!--   -->
+</a><a name="returnObject(K, T)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>returnObject</h4>
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.469">returnObject</a>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&nbsp;key,
+                <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&nbsp;obj)</pre>
+<div class="block">Returns an object to a keyed sub-pool.
+ <p>
+ If <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getMaxIdlePerKey()"><code>maxIdle</code></a>
 is set to a positive value and the
+ number of idle instances under the given key has reached this value, the
+ returning instance is destroyed.
+ <p>
+ If <a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getTestOnReturn()"><code>testOnReturn</code></a>
 == true, the returning
+ instance is validated before being returned to the idle instance sub-pool
+ under the given key. In this case, if validation fails, the instance is
+ destroyed.
+ <p>
+ Exceptions encountered destroying objects for any reason are swallowed
+ but notified via a <a 
href="../../../../../org/apache/commons/pool2/SwallowedExceptionListener.html" 
title="interface in 
org.apache.commons.pool2"><code>SwallowedExceptionListener</code></a>.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html#returnObject(K,%20V)">returnObject</a></code>&nbsp;in
 interface&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html" 
title="interface in org.apache.commons.pool2">KeyedObjectPool</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>,<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;</code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - pool 
key</dd><dd><code>obj</code> - instance to return to the keyed pool</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true";
 title="class or interface in java.lang">IllegalStateException</a></code> - if 
an object is returned to the pool that
+                               was not borrowed from it or if an object is
+                               returned to the pool multiple times</dd></dl>
+</li>
+</ul>
+<a name="invalidateObject(java.lang.Object,java.lang.Object)">
+<!--   -->
+</a><a name="invalidateObject(K, T)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>invalidateObject</h4>
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.573">invalidateObject</a>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&nbsp;key,
+                    <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&nbsp;obj)
+                      throws <a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Invalidates an object from the pool.
+ <p>
+ By contract, <code>obj</code> <strong>must</strong> have been obtained
+ using <a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html#borrowObject(K)"><code>borrowObject</code></a>
 or a related method as defined
+ in an implementation or sub-interface using a <code>key</code> that is
+ equivalent to the one used to borrow the <code>Object</code> in the first
+ place.
+ <p>
+ This method should be used when an object that has been borrowed is
+ determined (due to an exception or other problem) to be invalid.
+ <p>
+ Activation of this method decrements the active count associated with
+ the given keyed pool and attempts to destroy <code>obj.</code></div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html#invalidateObject(K,%20V)">invalidateObject</a></code>&nbsp;in
 interface&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html" 
title="interface in org.apache.commons.pool2">KeyedObjectPool</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>,<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;</code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - pool 
key</dd><dd><code>obj</code> - instance to invalidate</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></code> - if an exception 
occurs destroying the
+                               object</dd>
+<dd><code><a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true";
 title="class or interface in java.lang">IllegalStateException</a></code> - if 
obj does not belong to the pool
+                               under the given key</dd></dl>
+</li>
+</ul>
+<a name="clear()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clear</h4>
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.612">clear</a>()</pre>
+<div class="block">Clears any objects sitting idle in the pool by removing 
them from the
+ idle instance sub-pools and then invoking the configured
+ PoolableObjectFactory's
+ <a 
href="../../../../../org/apache/commons/pool2/KeyedPooledObjectFactory.html#destroyObject(K,%20org.apache.commons.pool2.PooledObject)"><code>KeyedPooledObjectFactory.destroyObject(Object,
 PooledObject)</code></a>
+ method on each idle instance.
+ <p>
+ Implementation notes:
+ <ul>
+ <li>This method does not destroy or effect in any way instances that are
+ checked out when it is invoked.</li>
+ <li>Invoking this method does not prevent objects being returned to the
+ idle instance pool, even during its execution. Additional instances may
+ be returned while removed items are being destroyed.</li>
+ <li>Exceptions encountered destroying idle instances are swallowed
+ but notified via a <a 
href="../../../../../org/apache/commons/pool2/SwallowedExceptionListener.html" 
title="interface in 
org.apache.commons.pool2"><code>SwallowedExceptionListener</code></a>.</li>
+ </ul></div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html#clear()">clear</a></code>&nbsp;in
 interface&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html" 
title="interface in org.apache.commons.pool2">KeyedObjectPool</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>,<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="clear(java.lang.Object)">
+<!--   -->
+</a><a name="clear(K)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clear</h4>
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.630">clear</a>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&nbsp;key)</pre>
+<div class="block">Clears the specified sub-pool, removing all pooled instances
+ corresponding to the given <code>key</code>. Exceptions encountered
+ destroying idle instances are swallowed but notified via a
+ <a 
href="../../../../../org/apache/commons/pool2/SwallowedExceptionListener.html" 
title="interface in 
org.apache.commons.pool2"><code>SwallowedExceptionListener</code></a>.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html#clear(K)">clear</a></code>&nbsp;in
 interface&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html" 
title="interface in org.apache.commons.pool2">KeyedObjectPool</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>,<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;</code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - the key 
to clear</dd></dl>
+</li>
+</ul>
+<a name="getNumActive()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumActive</h4>
+<pre>public&nbsp;int&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.655">getNumActive</a>()</pre>
+<div class="block"><strong>Description copied from interface:&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html#getNumActive()">KeyedObjectPool</a></code></strong></div>
+<div class="block">Returns the total number of instances current borrowed from 
this pool but
+ not yet returned. Returns a negative value if this information is not
+ available.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getNumActive()">getNumActive</a></code>&nbsp;in
 interface&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html"
 title="interface in 
org.apache.commons.pool2.impl">GenericKeyedObjectPoolMXBean</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&gt;</code></dd>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html#getNumActive()">getNumActive</a></code>&nbsp;in
 interface&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html" 
title="interface in org.apache.commons.pool2">KeyedObjectPool</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>,<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;</code></dd>
+<dt><span class="strong">Returns:</span></dt><dd>the total number of instances 
current borrowed from this pool but
+ not yet returned.</dd></dl>
+</li>
+</ul>
+<a name="getNumIdle()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumIdle</h4>
+<pre>public&nbsp;int&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.661">getNumIdle</a>()</pre>
+<div class="block"><strong>Description copied from class:&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getNumIdle()">BaseGenericObjectPool</a></code></strong></div>
+<div class="block">The number of instances currently idle in this pool.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getNumIdle()">getNumIdle</a></code>&nbsp;in
 interface&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html"
 title="interface in 
org.apache.commons.pool2.impl">GenericKeyedObjectPoolMXBean</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&gt;</code></dd>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html#getNumIdle()">getNumIdle</a></code>&nbsp;in
 interface&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html" 
title="interface in org.apache.commons.pool2">KeyedObjectPool</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>,<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;</code></dd>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#getNumIdle()">getNumIdle</a></code>&nbsp;in
 class&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html" 
title="class in org.apache.commons.pool2.impl">BaseGenericObjectPool</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;</code></dd>
+<dt><span class="strong">Returns:</span></dt><dd>count of instances available 
for checkout from the pool</dd></dl>
+</li>
+</ul>
+<a name="getNumActive(java.lang.Object)">
+<!--   -->
+</a><a name="getNumActive(K)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumActive</h4>
+<pre>public&nbsp;int&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.674">getNumActive</a>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&nbsp;key)</pre>
+<div class="block"><strong>Description copied from interface:&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html#getNumActive(K)">KeyedObjectPool</a></code></strong></div>
+<div class="block">Returns the number of instances currently borrowed from but 
not yet
+ returned to the pool corresponding to the given <code>key</code>.
+ Returns a negative value if this information is not available.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html#getNumActive(K)">getNumActive</a></code>&nbsp;in
 interface&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html" 
title="interface in org.apache.commons.pool2">KeyedObjectPool</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>,<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;</code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - the key 
to query</dd>
+<dt><span class="strong">Returns:</span></dt><dd>the number of instances 
currently borrowed from but not yet
+ returned to the pool corresponding to the given <code>key</code>.
+=</dd></dl>
+</li>
+</ul>
+<a name="getNumIdle(java.lang.Object)">
+<!--   -->
+</a><a name="getNumIdle(K)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumIdle</h4>
+<pre>public&nbsp;int&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.686">getNumIdle</a>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&nbsp;key)</pre>
+<div class="block"><strong>Description copied from interface:&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html#getNumIdle(K)">KeyedObjectPool</a></code></strong></div>
+<div class="block">Returns the number of instances corresponding to the given
+ <code>key</code> currently idle in this pool. Returns a negative value if
+ this information is not available.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html#getNumIdle(K)">getNumIdle</a></code>&nbsp;in
 interface&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html" 
title="interface in org.apache.commons.pool2">KeyedObjectPool</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>,<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;</code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - the key 
to query</dd>
+<dt><span class="strong">Returns:</span></dt><dd>the number of instances 
corresponding to the given
+ <code>key</code> currently idle in this pool.</dd></dl>
+</li>
+</ul>
+<a name="close()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.702">close</a>()</pre>
+<div class="block">Closes the keyed object pool. Once the pool is closed,
+ <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#borrowObject(K)"><code>borrowObject(Object)</code></a>
 will fail with IllegalStateException, but
+ <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#returnObject(K,%20T)"><code>returnObject(Object,
 Object)</code></a> and
+ <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#invalidateObject(K,%20T)"><code>invalidateObject(Object,
 Object)</code></a> will continue to work, with
+ returned objects destroyed on return.
+ <p>
+ Destroys idle instances in the pool by invoking <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#clear()"><code>clear()</code></a>.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html#close()">close</a></code>&nbsp;in
 interface&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html" 
title="interface in org.apache.commons.pool2">KeyedObjectPool</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>,<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;</code></dd>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#close()">close</a></code>&nbsp;in
 class&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html" 
title="class in org.apache.commons.pool2.impl">BaseGenericObjectPool</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="clearOldest()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clearOldest</h4>
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.738">clearOldest</a>()</pre>
+<div class="block">Clears oldest 15% of objects in pool.  The method sorts the 
objects into
+ a TreeMap and then iterates the first 15% for removal.</div>
+</li>
+</ul>
+<a name="evict()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>evict</h4>
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.864">evict</a>()
+           throws <a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></pre>
+<div class="block"><p>Perform <code>numTests</code> idle object eviction 
tests, evicting
+ examined objects that meet the criteria for eviction. If
+ <code>testWhileIdle</code> is true, examined objects are validated
+ when visited (and removed if invalid); otherwise only objects that
+ have been idle for more than <code>minEvicableIdleTimeMillis</code>
+ are removed.</p>
+ <p>
+ Successive activations of this method examine objects in keyed sub-pools
+ in sequence, cycling through the keys and examining objects in
+ oldest-to-youngest order within the keyed sub-pools.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html#evict()">evict</a></code>&nbsp;in
 class&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/impl/BaseGenericObjectPool.html" 
title="class in org.apache.commons.pool2.impl">BaseGenericObjectPool</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;</code></dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></code> - when there is a 
problem evicting idle objects.</dd></dl>
+</li>
+</ul>
+<a name="addObject(java.lang.Object)">
+<!--   -->
+</a><a name="addObject(K)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addObject</h4>
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.1212">addObject</a>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&nbsp;key)
+               throws <a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Create an object using the <a 
href="../../../../../org/apache/commons/pool2/KeyedPooledObjectFactory.html#makeObject(K)"><code>factory</code></a>,
 passivate it, and then place it in the idle object pool.
+ <code>addObject</code> is useful for "pre-loading" a pool with idle
+ objects.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html#addObject(K)">addObject</a></code>&nbsp;in
 interface&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/KeyedObjectPool.html" 
title="interface in org.apache.commons.pool2">KeyedObjectPool</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>,<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">T</a>&gt;</code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - the key 
a new instance should be added to</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></code> - when <a 
href="../../../../../org/apache/commons/pool2/KeyedPooledObjectFactory.html#makeObject(K)"><code>KeyedPooledObjectFactory.makeObject(K)</code></a>
+                   fails.</dd></dl>
+</li>
+</ul>
+<a name="preparePool(java.lang.Object)">
+<!--   -->
+</a><a name="preparePool(K)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preparePool</h4>
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.1254">preparePool</a>(<a
 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&nbsp;key)
+                 throws <a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Registers a key for pool control and ensures that
+ <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getMinIdlePerKey()"><code>getMinIdlePerKey()</code></a>
 idle instances are created.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - - 
The key to register for pool control.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></code> - If the 
associated factory fails to create the necessary
+                   number of idle instances</dd></dl>
+</li>
+</ul>
+<a name="getNumActivePerKey()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumActivePerKey</h4>
+<pre>public&nbsp;<a 
href="http://docs.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true";
 title="class or interface in java.util">Map</a>&lt;<a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>,<a 
href="http://docs.oracle.com/javase/6/docs/api/java/lang/Integer.html?is-external=true";
 title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a 
href="../../../../../src-html/org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#line.1320">getNumActivePerKey</a>()</pre>
+<div class="block"><strong>Description copied from interface:&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getNumActivePerKey()">GenericKeyedObjectPoolMXBean</a></code></strong></div>
+<div class="block">See <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getNumActivePerKey()"><code>getNumActivePerKey()</code></a></div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html#getNumActivePerKey()">getNumActivePerKey</a></code>&nbsp;in
 interface&nbsp;<code><a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPoolMXBean.html"
 title="interface in 
org.apache.commons.pool2.impl">GenericKeyedObjectPoolMXBean</a>&lt;<a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html" 
title="type parameter in GenericKeyedObjectPool">K</a>&gt;</code></dd>
+<dt><span class="strong">Returns:</span></dt><dd>See <a 
href="../../../../../org/apache/commons/pool2/impl/GenericKeyedObjectPool.html#getNumActivePerKey()"><code>getNumActivePerKey()</code></a></dd></dl>
+</li>
+</ul>
+<a name="getNumWaiters()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">

[... 121 lines stripped ...]

Reply via email to