<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
IronJacamar Management
</h3>
<span style="margin-bottom: 10px;">
modified by <a href="http://community.jboss.org/people/jesper.pedersen">Jesper Pedersen</a> in <i>IronJacamar Development</i> - <a href="http://community.jboss.org/docs/DOC-16674">View the full document</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><h1 id="IronJacamar_management">IronJacamar management</h1><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>The goal of this page is to describe the management features of the IronJacamar container, the design and key implementation classes.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><div class="toc" style="border: 1px dashed black; padding: 10px;"><ul><li>
<a class="jive-link-anchor-small" href="#IronJacamar_management">IronJacamar management</a>
</li>
<ul><li>
<a class="jive-link-anchor-small" href="#Requirements">Requirements</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#Design">Design</a>
</li>
<ul><li>
<a class="jive-link-anchor-small" href="#ManagementRepository">ManagementRepository</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#Connector">Connector</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#Resource_Adapter">Resource Adapter</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#Connection_Factory">Connection Factory</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#ManagedConnectionFactory">ManagedConnectionFactory</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#AdminObject">AdminObject</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#ConfigProperty">ConfigProperty</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#DataSource">DataSource</a>
</li>
</ul><li>
<a class="jive-link-anchor-small" href="#Features">Features</a>
</li>
<ul><li>
<a class="jive-link-anchor-small" href="#Operations">Operations</a>
</li>
<ul><li>
<a class="jive-link-anchor-small" href="#Pool">Pool</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#PoolConfiguration">PoolConfiguration</a>
</li>
</ul><li>
<a class="jive-link-anchor-small" href="#Statistics">Statistics</a>
</li>
</ul><li>
<a class="jive-link-anchor-small" href="#Implementation">Implementation</a>
</li>
<ul><li>
<a class="jive-link-anchor-small" href="#Operations_614728">Operations</a>
</li>
<ul><li>
<a class="jive-link-anchor-small" href="#Pool_757259">Pool</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#PoolConfiguration_543326">PoolConfiguration</a>
</li>
</ul><li>
<a class="jive-link-anchor-small" href="#Statistics_905610">Statistics</a>
</li>
<ul><li>
<a class="jive-link-anchor-small" href="#PoolStatistics">PoolStatistics</a>
</li>
</ul></ul><li>
<a class="jive-link-anchor-small" href="#Test_suite">Test suite</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#JDBC">JDBC</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#Related">Related</a>
</li>
</ul></ul></div></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h2 id="Requirements">Requirements</h2><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>The overall requirements are</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><ul><li>Show the configuration of deployed resource adapters and datasources</li><li>Show statistics for resource adapters and datasources</li><li>Apply changes to the configuration of deployed resource adapters and datasources</li><li>Invoke operations on the deployed resource adapters and datasources</li></ul><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h2 id="Design">Design</h2><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>We should a central place where the management view of resource adapters and datasources are registered (ManagementRepository).</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>This repository provides access to classes (Connector / DataSource) that represent a single deployment of either a resource adapter or a datasource.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Each of these classes are split into a hierarchy where information about the deployment and references to the live objects are maintained. It must be a design goal that the management classes uses methods from the public API of the IronJacamar container.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><pre class="jive-pre"><code class="jive-code">  ManagementRepository
    |
    |- Connector
    |    |
    |    |- Resource Adapter
    |    |
    |    |- Connection Factories
    |    |
    |    |- Admin Objects
    |
    |- DataSource
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>See a description of each class below.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>The implementation must be pure POJO, and only depend on the IronJacamar container.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Clients of the management repository contains the management specific technology, such as</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><ul><li>Java Management Extensions (JMX)</li><li>JBoss Application Server 7 domain model</li><li>RHQ</li></ul><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>That way we can provide an API that can be used from all client types.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h3 id="ManagementRepository">ManagementRepository</h3><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width: 100%; border: 1px solid #000000;"><tbody><tr><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Method<br/></strong></span></th><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Description</strong></span></th></tr><tr><td style="border: 1px solid #000000;">getConnectors()</td><td style="border: 1px solid #000000;">The active resource adapters</td></tr><tr><td style="border: 1px solid #000000;">getDataSources()</td><td style="border: 1px solid #000000;">The active datasources</td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h3 id="Connector">Connector</h3><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width: 100%; border: 1px solid #000000;"><tbody><tr><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Method<br/></strong></span></th><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Description</strong></span></th></tr><tr><td style="border: 1px solid #000000;">getUniqueId()</td><td style="border: 1px solid #000000;">The unique identifier for the deployment</td></tr><tr><td style="border: 1px solid #000000;">getResourceAdapter()</td><td style="border: 1px solid #000000;">The resource adapter</td></tr><tr><td style="border: 1px solid #000000;">getConnectionFactories()</td><td style="border: 1px solid #000000;">The connection factories</td></tr><tr><td style="border: 1px solid #000000;">getAdminObjects()</td><td style="border: 1px solid #000000;">The admin objects</td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h3 id="Resource_Adapter">Resource Adapter</h3><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width: 100%; border: 1px solid #000000;"><tbody><tr><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Method<br/></strong></span></th><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Description<br/></strong></span></th></tr><tr><td style="border: 1px solid #000000;">getResourceAdapter()</td><td style="border: 1px solid #000000;">A reference to the live object</td></tr><tr><td style="border: 1px solid #000000;">getConfigProperties()</td><td style="border: 1px solid #000000;">The config-property's for the resource adapter</td></tr><tr><td style="border: 1px solid #000000;">getStatistics()</td><td style="border: 1px solid #000000;">A reference to the statistics module for the resource adapter</td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h3 id="Connection_Factory">Connection Factory</h3><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width: 100%; border: 1px solid #000000;"><tbody><tr><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Method<br/></strong></span></th><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Description<br/></strong></span></th></tr><tr><td style="border: 1px solid #000000;">getJndiName()</td><td style="border: 1px solid #000000;">The JNDI name of the connection factory</td></tr><tr><td style="border: 1px solid #000000;">getConnectionFactory()</td><td style="border: 1px solid #000000;">A reference to the connection factory</td></tr><tr><td style="border: 1px solid #000000;">getManagedConnectionFactory()</td><td style="border: 1px solid #000000;">A reference to the managed connection factory</td></tr><tr><td style="border: 1px solid #000000;">getPool()</td><td style="border: 1px solid #000000;">A reference to the pool</td></tr><tr><td style="border: 1px solid #000000;">getPoolConfiguration()</td><td style="border: 1px solid #000000;">A reference to the pool configuration</td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h3 id="ManagedConnectionFactory">ManagedConnectionFactory</h3><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width: 100%; border: 1px solid #000000;"><tbody><tr><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Method<br/></strong></span></th><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Description</strong></span></th></tr><tr><td style="border: 1px solid #000000;">getManagedConnectionFactory()</td><td style="border: 1px solid #000000;">A reference to the live object</td></tr><tr><td style="border: 1px solid #000000;">getConfigProperties()</td><td style="border: 1px solid #000000;">The config-property's for the managed connection factory</td></tr><tr><td style="border: 1px solid #000000;">getStatistics()</td><td style="border: 1px solid #000000;">A reference to the statistics module for the managed connection factory</td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h3 id="AdminObject">AdminObject</h3><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width: 100%; border: 1px solid #000000;"><tbody><tr><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Method<br/></strong></span></th><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Description<br/></strong></span></th></tr><tr><td style="border: 1px solid #000000;">getJndiName()</td><td style="border: 1px solid #000000;">The JNDI name for the admin object</td></tr><tr><td style="border: 1px solid #000000;">getAdminObject()</td><td style="border: 1px solid #000000;">A reference to the live object</td></tr><tr><td style="border: 1px solid #000000;">getConfigProperties()</td><td style="border: 1px solid #000000;">The config-property's for the admin object</td></tr><tr><td style="border: 1px solid #000000;">getStatistics()</td><td style="border: 1px solid #000000;">A reference to the statistics module for the admin object</td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h3 id="ConfigProperty">ConfigProperty</h3><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width: 100%; border: 1px solid #000000;"><tbody><tr><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Method<br/></strong></span></th><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Description<br/></strong></span></th></tr><tr><td style="border: 1px solid #000000;">getName()</td><td style="border: 1px solid #000000;">The name of the config-property</td></tr><tr><td style="border: 1px solid #000000;">isDynamic()</td><td style="border: 1px solid #000000;">Is the config-property dynamic - e.g. supports live updates</td></tr><tr><td style="border: 1px solid #000000;">isConfidential()</td><td style="border: 1px solid #000000;">Is the config-property confidential</td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h3 id="DataSource">DataSource</h3><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width: 100%; border: 1px solid #000000;"><tbody><tr><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Method<br/></strong></span></th><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Description</strong></span></th></tr><tr><td style="border: 1px solid #000000;">getJndiName()</td><td style="border: 1px solid #000000;">The JNDI name of the datasource</td></tr><tr><td style="border: 1px solid #000000;">isXA()</td><td style="border: 1px solid #000000;">Is the datasource XA capable</td></tr><tr><td style="border: 1px solid #000000;">getPool()</td><td style="border: 1px solid #000000;">A reference to the pool</td></tr><tr><td style="border: 1px solid #000000;">getPoolConfiguration()</td><td style="border: 1px solid #000000;">A reference to the pool configuration</td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h2 id="Features">Features</h2><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>TBD</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h3 id="Operations">Operations</h3><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Description of the operations that can be invoked are listed below.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><ul><li>"Per request" -- Once an update has been performed it will be used at the next invocation of a method which uses the property in question</li><li>"Per container" -- Is applied once a container is started/restarted</li></ul><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h4 id="Pool">Pool</h4><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width: 100%; border: 1px solid #000000;"><tbody><tr><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Operation<br/></strong></span></th><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Description</strong></span></th></tr><tr><td style="border: 1px solid #000000;">flush</td><td style="border: 1px solid #000000;">Flushes the pool for idle connections</td></tr><tr><td style="border: 1px solid #000000;">flush(boolean)</td><td style="border: 1px solid #000000;">Flushes the pool for either idle connections (false) or the entire pool (true)</td></tr><tr><td style="border: 1px solid #000000;">testConnection</td><td style="border: 1px solid #000000;">Tests if a connection can be obtained</td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h4 id="PoolConfiguration">PoolConfiguration</h4><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width: 100%; border: 1px solid #000000;"><tbody><tr><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Property<br/></strong></span></th><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Read</strong></span></th><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Write</strong></span></th><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Applied</strong></span></th></tr><tr><td style="border: 1px solid #000000;">MinSize</td><td style="border: 1px solid #000000;">Y</td><td style="border: 1px solid #000000;">Y</td><td style="border: 1px solid #000000;">Per request</td></tr><tr><td style="border: 1px solid #000000;">MaxSize</td><td style="border: 1px solid #000000;">Y</td><td style="border: 1px solid #000000;">Y</td><td style="border: 1px solid #000000;">Per request</td></tr><tr><td style="border: 1px solid #000000;">BlockingTimeout</td><td style="border: 1px solid #000000;">Y</td><td style="border: 1px solid #000000;">Y</td><td style="border: 1px solid #000000;">Per request</td></tr><tr><td style="border: 1px solid #000000;">IdleTimeout</td><td style="border: 1px solid #000000;">Y</td><td style="border: 1px solid #000000;">Y</td><td style="border: 1px solid #000000;">Per container</td></tr><tr><td style="border: 1px solid #000000;">BackgroundValidation</td><td style="border: 1px solid #000000;">Y</td><td style="border: 1px solid #000000;">Y</td><td style="border: 1px solid #000000;">Per container</td></tr><tr><td style="border: 1px solid #000000;">BackgroundValidationMinutes</td><td style="border: 1px solid #000000;">Y</td><td style="border: 1px solid #000000;">Y</td><td style="border: 1px solid #000000;">Per container</td></tr><tr><td style="border: 1px solid #000000;">Prefill</td><td style="border: 1px solid #000000;">Y</td><td style="border: 1px solid #000000;">Y</td><td style="border: 1px solid #000000;">Per container</td></tr><tr><td style="border: 1px solid #000000;">StrictMin</td><td style="border: 1px solid #000000;">Y</td><td style="border: 1px solid #000000;">Y</td><td style="border: 1px solid #000000;">Per request</td></tr><tr><td style="border: 1px solid #000000;">UseFastFail</td><td style="border: 1px solid #000000;">Y</td><td style="border: 1px solid #000000;">Y</td><td style="border: 1px solid #000000;">Per request</td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h3 id="Statistics">Statistics</h3><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Statistics should be handled through an SPI using the following two interfaces</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><pre class="jive-pre"><code class="jive-code">org.jboss.jca.core.spi.statistics.Statistics
org.jboss.jca.core.spi.statistics.StatisticsPlugin
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>The "Statistics" interface identifies that the component in question supports statistics. The "StatisticsPlugin" interface defines the contract for the statistics module.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h2 id="Implementation">Implementation</h2><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>The implementation is located in the core module of the IronJacamar repository. The package is</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><pre class="jive-pre"><code class="jive-code">org.jboss.jca.core.api.management
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>The implementing classes must use java.lang.ref.WeakReference for all live object references, such that won't prevent a garbage collection of the object in question.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h3 id="Operations_614728">Operations</h3><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h4 id="Pool_757259">Pool</h4><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Access can be done directly on the reference.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h4 id="PoolConfiguration_543326">PoolConfiguration</h4><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Access can be done directly on the reference.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h3 id="Statistics_905610">Statistics</h3><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>It is possible to enable/disable statistics collection, as well as clear current values.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>All statistics are read-only.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h4 id="PoolStatistics">PoolStatistics</h4><table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width: 100%; border: 1px solid #000000;"><tbody><tr><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Property<br/></strong></span></th><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Description</strong></span></th></tr><tr><td style="border: 1px solid #000000;">ActiveCount</td><td style="border: 1px solid #000000;">The active count</td></tr><tr><td style="border: 1px solid #000000;">AvailableCount</td><td style="border: 1px solid #000000;">The available count</td></tr><tr><td style="border: 1px solid #000000;">AverageBlockingTime</td><td style="border: 1px solid #000000;">The average time spent blocking on a connection</td></tr><tr><td style="border: 1px solid #000000;">AverageCreationTime</td><td style="border: 1px solid #000000;">The average time spent on creating a physical connection</td></tr><tr><td style="border: 1px solid #000000;">CreatedCount</td><td style="border: 1px solid #000000;">The created count</td></tr><tr><td style="border: 1px solid #000000;">DestroyedCount</td><td style="border: 1px solid #000000;">The destroyed count</td></tr><tr><td style="border: 1px solid #000000;">MaxCreationTime</td><td style="border: 1px solid #000000;">The maximum time spent on creating a physical connection</td></tr><tr><td style="border: 1px solid #000000;">MaxUsedCount</td><td style="border: 1px solid #000000;">The maximum number of connections used</td></tr><tr><td style="border: 1px solid #000000;">MaxWaitCount</td><td style="border: 1px solid #000000;">The maximum number of threads waiting for a connection</td></tr><tr><td style="border: 1px solid #000000;">MaxWaitTime</td><td style="border: 1px solid #000000;">The maximum time waiting for a connection</td></tr><tr><td style="border: 1px solid #000000;">TimedOut</td><td style="border: 1px solid #000000;">The timed out connections</td></tr><tr><td style="border: 1px solid #000000;">TotalBlockingTime</td><td style="border: 1px solid #000000;">The total time spent blocking for connections</td></tr><tr><td style="border: 1px solid #000000;">TotalCreationTime</td><td style="border: 1px solid #000000;">The total time spent creating physical connections</td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Note, that is part of the core statistics of the IronJacamar container. Hence statistics will always be collected in order to provide internal feedback to the container. Therefore this module can't be cleared either.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h2 id="Test_suite">Test suite</h2><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>The management model is currently tested through the RHQ plugin.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h2 id="JDBC">JDBC</h2><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>The JDBC resource adapter has the following statistics exposed</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width: 100%; border: 1px solid #000000;"><tbody><tr><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Statistics<br/></strong></span></th><th align="center" style="background-color: #6690bc;; border: 1px solid #000000;background-color: #6690bc;" valign="middle"><span style="color: #ffffff;"><strong>Description</strong></span></th></tr><tr><td style="border: 1px solid #000000;">PreparedStatementCacheAccessCount</td><td style="border: 1px solid #000000;">The number of times that the statement cache was accessed</td></tr><tr><td style="border: 1px solid #000000;">PreparedStatementCacheAddCount</td><td style="border: 1px solid #000000;">The number of statements added to the statement cache</td></tr><tr><td style="border: 1px solid #000000;">PreparedStatementCacheCurrentSize</td><td style="border: 1px solid #000000;">The number of prepared and callable statements currently cached in the statement cache</td></tr><tr><td style="border: 1px solid #000000;">PreparedStatementCacheDeleteCount</td><td style="border: 1px solid #000000;">The number of statements discarded from the cache</td></tr><tr><td style="border: 1px solid #000000;">PreparedStatementCacheHitCount</td><td style="border: 1px solid #000000;">The number of times that statements from the cache were used</td></tr><tr><td style="border: 1px solid #000000;">PreparedStatementCacheMissCount</td><td style="border: 1px solid #000000;">The number of times that a statement request could not be satisfied with a statement from the cache</td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h2 id="Related">Related</h2><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><ul><li>JBoss Application Server 7</li><li><a class="jive-link-wiki-small" href="http://community.jboss.org/docs/DOC-16378">RHQ platform</a></li></ul></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Comment by <a href="http://community.jboss.org/docs/DOC-16674">going to Community</a></p>
        <p style="margin: 0;">Create a new document in IronJacamar Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=102&containerType=14&container=2099">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>