uTools-Manuals/docs/java/javax/sql/PooledConnection.html

291 lines
15 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
compact2, compact3
</div>
<div class="subTitle">
javax.sql
</div>
<h2 class="title" title="Interface PooledConnection">Interface PooledConnection</h2>
</div><div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Known Subinterfaces:
</dt>
<dd>
<span><a href="../../javax/sql/XAConnection.html" title="javax.sql中的接口">XAConnection</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public interface <span class="typeNameLabel">PooledConnection</span></pre>
<div class="block">
<span>提供连接池管理钩子的对象。</span>
<span>一个<code>PooledConnection</code>对象表示与数据源的物理连接。</span>
<span>连接可以在应用程序完成时被重新利用而不是关闭,从而减少了需要进行连接的次数。</span>
<p> <span>应用程序员不直接使用<code>PooledConnection</code>接口;</span> <span>相反,它被管理池连接的中间层基础结构所使用。</span> </p>
<p> <span>当应用程序调用方法<code>DataSource.getConnection</code>时,它将返回一个<code>Connection</code>对象。</span> <span>如果连接池正在做的,是<code>Connection</code>对象实际上是一个句柄<code>PooledConnection</code>对象,这是一个物理连接。</span> </p>
<p> <span>连接池管理器(通常是应用程序服务器)维护一个<code>PooledConnection</code>对象的池。</span> <span>如果池中有一个<code>PooledConnection</code>对象可用,则连接池管理器将返回一个<code>Connection</code>对象,该对象是该物理连接的句柄。</span> <span>如果没有<code>PooledConnection</code>对象可用,则连接池管理器将呼叫<code>ConnectionPoolDataSource</code>方法<code>getPoolConnection</code>以创建新的物理连接。</span> <span>实现<code>ConnectionPoolDataSource</code>的JDBC驱动程序创建一个新的<code>PooledConnection</code>对象并返回一个句柄。</span> </p>
<p> <span>当应用程序关闭连接时,它会调用<code>Connection</code>方法<code>close</code></span> <span>当连接池正在完成时,通知连接池管理器,因为它已使用<code>ConnectionPool</code>方法<code>addConnectionEventListener</code>将其自身注册为<code>ConnectionEventListener</code>对象。</span> <span>连接池管理停用句柄<code>PooledConnection</code>对象和返回<code>PooledConnection</code>对象,以便它可以再次使用连接池。</span> <span>因此,当应用程序关闭其连接时,底层物理连接将被回收而不是关闭。</span> </p>
<p> <span>在连接池管理器调用<code>PooledConnection</code>方法<code>close</code>之前,物理连接不会关闭。</span> <span>通常调用此方法可以有序地关闭服务器,或者如果致命错误使连接无法使用。</span> </p>
<p> <span>连接池管理器通常也是一个语句池管理器,维护一个<code>PreparedStatement</code>对象的池。</span> <span>当应用程序关闭准备好的语句时,它将调用<code>PreparedStatement</code>方法<code>close</code></span> <span><code>Statement</code>池正在完成时,池管理器被通知,因为它已使用<code>ConnectionPool</code>方法<code>addStatementEventListener</code>自己注册为<code>StatementEventListener</code>对象。</span> <span>因此,当应用程序关闭其<code>PreparedStatement</code>时,基础准备语句将被回收而不是被关闭。</span> </p>
<p></p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.4
</dd>
</dl> </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>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/sql/PooledConnection.html#addConnectionEventListener-javax.sql.ConnectionEventListener-">addConnectionEventListener</a></span>(<a href="../../javax/sql/ConnectionEventListener.html" title="interface in javax.sql">ConnectionEventListener</a> listener)</code>
<div class="block">
注册给定的事件侦听器,以便在
<code>PooledConnection</code>对象发生事件时通知它。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/sql/PooledConnection.html#addStatementEventListener-javax.sql.StatementEventListener-">addStatementEventListener</a></span>(<a href="../../javax/sql/StatementEventListener.html" title="interface in javax.sql">StatementEventListener</a> listener)</code>
<div class="block">
注册一个
<code>StatementEventListener</code>与此
<code>PooledConnection</code>对象。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/sql/PooledConnection.html#close--">close</a></span>()</code>
<div class="block">
关闭这个
<code>PooledConnection</code>对象所代表的物理连接。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code><a href="../../java/sql/Connection.html" title="interface in java.sql">Connection</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/sql/PooledConnection.html#getConnection--">getConnection</a></span>()</code>
<div class="block">
创建并返回一个
<code>Connection</code>对象,它是对于这个物理连接的手柄
<code>PooledConnection</code>对象表示。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/sql/PooledConnection.html#removeConnectionEventListener-javax.sql.ConnectionEventListener-">removeConnectionEventListener</a></span>(<a href="../../javax/sql/ConnectionEventListener.html" title="interface in javax.sql">ConnectionEventListener</a> listener)</code>
<div class="block">
从在
<code>PooledConnection</code>对象发生事件时将被通知的组件列表中删除给定的事件侦听器。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/sql/PooledConnection.html#removeStatementEventListener-javax.sql.StatementEventListener-">removeStatementEventListener</a></span>(<a href="../../javax/sql/StatementEventListener.html" title="interface in javax.sql">StatementEventListener</a> listener)</code>
<div class="block">
删除指定的
<code>StatementEventListener</code>从当司机检测到时将获得通知的组件列表
<code>PreparedStatement</code>已关闭或无效。
</div> </td>
</tr>
</tbody>
</table> </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>方法详细信息</h3> <a name="getConnection--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getConnection</h4> <pre><a href="../../java/sql/Connection.html" title="interface in java.sql">Connection</a> getConnection()
throws <a href="../../java/sql/SQLException.html" title="class in java.sql">SQLException</a></pre>
<div class="block">
<span>创建并返回一个<code>Connection</code>对象,它是对于这个物理连接的手柄<code>PooledConnection</code>对象表示。</span>
<span>当应用程序调用方法<code>DataSource.getConnection</code>并且没有<code>PooledConnection</code>对象可用时,连接池管理器调用此方法。</span>
<span><a href="../../javax/sql/PooledConnection.html" title="javax.sql中的接口"><code>interface description</code></a>以获取更多信息。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>Connection</code>对象,这是该
<code>PooledConnection</code>对象的句柄
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/sql/SQLException.html" title="class in java.sql">SQLException</a></code> - 如果发生数据库访问错误
</dd>
<dd>
<code><a href="../../java/sql/SQLFeatureNotSupportedException.html" title="class in java.sql">SQLFeatureNotSupportedException</a></code> - 如果JDBC驱动程序不支持此方法
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.4
</dd>
</dl> </li>
</ul> <a name="close--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>close</h4> <pre>void close()
throws <a href="../../java/sql/SQLException.html" title="class in java.sql">SQLException</a></pre>
<div class="block">
<span>关闭此<code>PooledConnection</code>对象所代表的物理连接。</span>
<span>应用程序从不直接调用此方法;</span>
<span>它由连接池模块或管理器调用。</span>
<p> <span><a href="../../javax/sql/PooledConnection.html" title="javax.sql中的接口"><code>interface description</code></a>以获取更多信息。</span> </p>
</div>
<dl>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/sql/SQLException.html" title="class in java.sql">SQLException</a></code> - 如果发生数据库访问错误
</dd>
<dd>
<code><a href="../../java/sql/SQLFeatureNotSupportedException.html" title="class in java.sql">SQLFeatureNotSupportedException</a></code> - 如果JDBC驱动程序不支持此方法
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.4
</dd>
</dl> </li>
</ul> <a name="addConnectionEventListener-javax.sql.ConnectionEventListener-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>addConnectionEventListener</h4> <pre>void addConnectionEventListener(<a href="../../javax/sql/ConnectionEventListener.html" title="interface in javax.sql">ConnectionEventListener</a> listener)</pre>
<div class="block">
注册给定的事件侦听器,以便在此
<code>PooledConnection</code>对象发生事件时通知它。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>listener</code> - 一个组件,通常是连接池管理器,已实现
<code>ConnectionEventListener</code>接口,并希望在连接关闭或有错误时通知
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/sql/PooledConnection.html#removeConnectionEventListener-javax.sql.ConnectionEventListener-"><code>removeConnectionEventListener(javax.sql.ConnectionEventListener)</code></a>
</dd>
</dl> </li>
</ul> <a name="removeConnectionEventListener-javax.sql.ConnectionEventListener-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>removeConnectionEventListener</h4> <pre>void removeConnectionEventListener(<a href="../../javax/sql/ConnectionEventListener.html" title="interface in javax.sql">ConnectionEventListener</a> listener)</pre>
<div class="block">
从在
<code>PooledConnection</code>对象发生事件时将被通知的组件列表中删除给定的事件侦听器。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>listener</code> - 一个组件,通常是连接池管理器,已实现
<code>ConnectionEventListener</code>接口并已将此
<code>PooledConnection</code>对象注册为侦听器
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/sql/PooledConnection.html#addConnectionEventListener-javax.sql.ConnectionEventListener-"><code>addConnectionEventListener(javax.sql.ConnectionEventListener)</code></a>
</dd>
</dl> </li>
</ul> <a name="addStatementEventListener-javax.sql.StatementEventListener-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>addStatementEventListener</h4> <pre>void addStatementEventListener(<a href="../../javax/sql/StatementEventListener.html" title="interface in javax.sql">StatementEventListener</a> listener)</pre>
<div class="block">
<span>注册一个<code>StatementEventListener</code>与此<code>PooledConnection</code>对象。</span>
<span>当要被通知希望组分<code>PreparedStatement</code>由连接创建s的关闭或被检测为无效可使用此方法来注册<code>StatementEventListener</code>与此<code>PooledConnection</code>对象。</span>
<p></p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>listener</code> -它实现了一个部件
<code>StatementEventListener</code>界面,与此登记
<code>PooledConnection</code>对象
<p></p>
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.6
</dd>
</dl> </li>
</ul> <a name="removeStatementEventListener-javax.sql.StatementEventListener-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>removeStatementEventListener</h4> <pre>void removeStatementEventListener(<a href="../../javax/sql/StatementEventListener.html" title="interface in javax.sql">StatementEventListener</a> listener)</pre>
<div class="block">
删除指定的
<code>StatementEventListener</code>从当司机检测到时将获得通知的组件列表
<code>PreparedStatement</code>已关闭或无效。
<p></p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>listener</code> - 实现StatementEventListener接口的组件
<code>StatementEventListener</code>以前已注册到此
<code>PooledConnection</code>对象
<p></p>
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.6
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>