<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>JDBCConnectionPoolStats</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="JDBCConnectionPoolStats";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<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="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="../../../../javax/management/j2ee/statistics/JCAStats.html" title="interface in javax.management.j2ee.statistics"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../javax/management/j2ee/statistics/JDBCConnectionStats.html" title="interface in javax.management.j2ee.statistics"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?javax/management/j2ee/statistics/JDBCConnectionPoolStats.html" target="_top">Frames</a></li>
<li><a href="JDBCConnectionPoolStats.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;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>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&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">javax.management.j2ee.statistics</div>
<h2 title="Interface JDBCConnectionPoolStats" class="title">Interface JDBCConnectionPoolStats</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../javax/management/j2ee/statistics/JDBCConnectionStats.html" title="interface in javax.management.j2ee.statistics">JDBCConnectionStats</a>, <a href="../../../../javax/management/j2ee/statistics/Stats.html" title="interface in javax.management.j2ee.statistics">Stats</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">JDBCConnectionPoolStats</span>
extends <a href="../../../../javax/management/j2ee/statistics/JDBCConnectionStats.html" title="interface in javax.management.j2ee.statistics">JDBCConnectionStats</a></pre>
<div class="block">Specifies the statistics provided by a JDBC connection pool.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../javax/management/j2ee/statistics/CountStatistic.html" title="interface in javax.management.j2ee.statistics">CountStatistic</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/management/j2ee/statistics/JDBCConnectionPoolStats.html#getCloseCount--">getCloseCount</a></span>()</code>
<div class="block">Number of connections closed.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../javax/management/j2ee/statistics/CountStatistic.html" title="interface in javax.management.j2ee.statistics">CountStatistic</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/management/j2ee/statistics/JDBCConnectionPoolStats.html#getCreateCount--">getCreateCount</a></span>()</code>
<div class="block">Number of connections created.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../javax/management/j2ee/statistics/BoundedRangeStatistic.html" title="interface in javax.management.j2ee.statistics">BoundedRangeStatistic</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/management/j2ee/statistics/JDBCConnectionPoolStats.html#getFreePoolSize--">getFreePoolSize</a></span>()</code>
<div class="block">Number of free connections in the pool.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../javax/management/j2ee/statistics/BoundedRangeStatistic.html" title="interface in javax.management.j2ee.statistics">BoundedRangeStatistic</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/management/j2ee/statistics/JDBCConnectionPoolStats.html#getPoolSize--">getPoolSize</a></span>()</code>
<div class="block">Size of the connection pool.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../javax/management/j2ee/statistics/RangeStatistic.html" title="interface in javax.management.j2ee.statistics">RangeStatistic</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/management/j2ee/statistics/JDBCConnectionPoolStats.html#getWaitingThreadCount--">getWaitingThreadCount</a></span>()</code>
<div class="block">Number of threads waiting for a connection.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.management.j2ee.statistics.JDBCConnectionStats">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;javax.management.j2ee.statistics.<a href="../../../../javax/management/j2ee/statistics/JDBCConnectionStats.html" title="interface in javax.management.j2ee.statistics">JDBCConnectionStats</a></h3>
<code><a href="../../../../javax/management/j2ee/statistics/JDBCConnectionStats.html#getJdbcDataSource--">getJdbcDataSource</a>, <a href="../../../../javax/management/j2ee/statistics/JDBCConnectionStats.html#getUseTime--">getUseTime</a>, <a href="../../../../javax/management/j2ee/statistics/JDBCConnectionStats.html#getWaitTime--">getWaitTime</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.management.j2ee.statistics.Stats">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;javax.management.j2ee.statistics.<a href="../../../../javax/management/j2ee/statistics/Stats.html" title="interface in javax.management.j2ee.statistics">Stats</a></h3>
<code><a href="../../../../javax/management/j2ee/statistics/Stats.html#getStatistic-java.lang.String-">getStatistic</a>, <a href="../../../../javax/management/j2ee/statistics/Stats.html#getStatisticNames--">getStatisticNames</a>, <a href="../../../../javax/management/j2ee/statistics/Stats.html#getStatistics--">getStatistics</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getCreateCount--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCreateCount</h4>
<pre><a href="../../../../javax/management/j2ee/statistics/CountStatistic.html" title="interface in javax.management.j2ee.statistics">CountStatistic</a>&nbsp;getCreateCount()</pre>
<div class="block">Number of connections created.</div>
</li>
</ul>
<a name="getCloseCount--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCloseCount</h4>
<pre><a href="../../../../javax/management/j2ee/statistics/CountStatistic.html" title="interface in javax.management.j2ee.statistics">CountStatistic</a>&nbsp;getCloseCount()</pre>
<div class="block">Number of connections closed.</div>
</li>
</ul>
<a name="getPoolSize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPoolSize</h4>
<pre><a href="../../../../javax/management/j2ee/statistics/BoundedRangeStatistic.html" title="interface in javax.management.j2ee.statistics">BoundedRangeStatistic</a>&nbsp;getPoolSize()</pre>
<div class="block">Size of the connection pool.</div>
</li>
</ul>
<a name="getFreePoolSize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFreePoolSize</h4>
<pre><a href="../../../../javax/management/j2ee/statistics/BoundedRangeStatistic.html" title="interface in javax.management.j2ee.statistics">BoundedRangeStatistic</a>&nbsp;getFreePoolSize()</pre>
<div class="block">Number of free connections in the pool.</div>
</li>
</ul>
<a name="getWaitingThreadCount--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getWaitingThreadCount</h4>
<pre><a href="../../../../javax/management/j2ee/statistics/RangeStatistic.html" title="interface in javax.management.j2ee.statistics">RangeStatistic</a>&nbsp;getWaitingThreadCount()</pre>
<div class="block">Number of threads waiting for a connection.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.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="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="../../../../javax/management/j2ee/statistics/JCAStats.html" title="interface in javax.management.j2ee.statistics"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../javax/management/j2ee/statistics/JDBCConnectionStats.html" title="interface in javax.management.j2ee.statistics"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?javax/management/j2ee/statistics/JDBCConnectionPoolStats.html" target="_top">Frames</a></li>
<li><a href="JDBCConnectionPoolStats.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  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>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
