677 lines
29 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.transaction.xa
</div>
<h2 class="title" title="Interface XAResource">Interface XAResource</h2>
</div><div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public interface <span class="typeNameLabel">XAResource</span></pre>
<div class="block">
<p> <span>XAResource接口是基于X / Open CAE规范分布式事务处理XA规范的行业标准XA接口的Java映射。</span> </p>
<p> <span>XA接口在分布式事务处理DTP环境中定义资源管理器和事务管理器之间的合同。</span> <span>JDBC驱动程序或JMS提供程序实现此接口来支持全局事务与数据库或消息服务连接之间的关联。</span> </p>
<p> <span>XAResource接口可以由任何事务资源支持这些资源旨在由应用程序在外部事务管理器控制事务的环境中使用。</span> <span>这种资源的一个例子是数据库管理系统。</span> <span>应用程序可以通过多个数据库连接访问数据。</span> <span>每个数据库连接都作为事务资源与事务管理器一起登记。</span> <span>事务管理器为参与全局事务的每个连接获取XAResource。</span> <span>事务管理器使用<code>start</code>方法将全局事务与资源关联,并使用<code>end</code>方法将事务与资源取消关联。</span> <span>资源管理器负责将全局事务与在开始和结束方法调用之间的数据执行的所有工作相关联。</span> </p>
<p> <span>在事务提交时,资源管理器由事务管理器通知,根据两阶段提交协议来准备,提交或回滚事务。</span> </p>
</div> </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>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Field Summary table, listing fields, and an explanation">
<caption>
<span>Fields</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/transaction/xa/XAResource.html#TMENDRSCAN">TMENDRSCAN</a></span></code>
<div class="block">
结束恢复扫描。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/transaction/xa/XAResource.html#TMFAIL">TMFAIL</a></span></code>
<div class="block">
将呼叫方解除关联,并标记事务分支回滚。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/transaction/xa/XAResource.html#TMJOIN">TMJOIN</a></span></code>
<div class="block">
来电者正在加入现有的交易分支。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/transaction/xa/XAResource.html#TMNOFLAGS">TMNOFLAGS</a></span></code>
<div class="block">
使用TMNOFLAGS表示没有选择标志值。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/transaction/xa/XAResource.html#TMONEPHASE">TMONEPHASE</a></span></code>
<div class="block">
来电者正在使用单相优化。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/transaction/xa/XAResource.html#TMRESUME">TMRESUME</a></span></code>
<div class="block">
来电者正在恢复与暂停的交易分支的关联。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/transaction/xa/XAResource.html#TMSTARTRSCAN">TMSTARTRSCAN</a></span></code>
<div class="block">
启动恢复扫描。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/transaction/xa/XAResource.html#TMSUCCESS">TMSUCCESS</a></span></code>
<div class="block">
从一个事务分支解除呼叫者。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/transaction/xa/XAResource.html#TMSUSPEND">TMSUSPEND</a></span></code>
<div class="block">
来电者暂停(不结束)其与交易分支的关联。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/transaction/xa/XAResource.html#XA_OK">XA_OK</a></span></code>
<div class="block">
交易工作已正常准备。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/transaction/xa/XAResource.html#XA_RDONLY">XA_RDONLY</a></span></code>
<div class="block">
事务分支是只读的,已经被提交。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== 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/transaction/xa/XAResource.html#commit-javax.transaction.xa.Xid-boolean-">commit</a></span>(<a href="../../../javax/transaction/xa/Xid.html" title="interface in javax.transaction.xa">Xid</a> xid, boolean onePhase)</code>
<div class="block">
提交由xid指定的全局事务。
</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/transaction/xa/XAResource.html#end-javax.transaction.xa.Xid-int-">end</a></span>(<a href="../../../javax/transaction/xa/Xid.html" title="interface in javax.transaction.xa">Xid</a> xid, int flags)</code>
<div class="block">
结束代表交易分支执行的工作。
</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/transaction/xa/XAResource.html#forget-javax.transaction.xa.Xid-">forget</a></span>(<a href="../../../javax/transaction/xa/Xid.html" title="interface in javax.transaction.xa">Xid</a> xid)</code>
<div class="block">
告诉资源管理器忘记一个启发式完成的事务分支。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/transaction/xa/XAResource.html#getTransactionTimeout--">getTransactionTimeout</a></span>()</code>
<div class="block">
获取为此XAResource实例设置的当前事务超时值。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/transaction/xa/XAResource.html#isSameRM-javax.transaction.xa.XAResource-">isSameRM</a></span>(<a href="../../../javax/transaction/xa/XAResource.html" title="interface in javax.transaction.xa">XAResource</a> xares)</code>
<div class="block">
调用此方法来确定由目标对象表示的资源管理器实例是否与由参数
<i>xares</i>表示的资源管理器实例相同。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/transaction/xa/XAResource.html#prepare-javax.transaction.xa.Xid-">prepare</a></span>(<a href="../../../javax/transaction/xa/Xid.html" title="interface in javax.transaction.xa">Xid</a> xid)</code>
<div class="block">
请求资源管理器准备xid中指定的事务的事务提交。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code><a href="../../../javax/transaction/xa/Xid.html" title="interface in javax.transaction.xa">Xid</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/transaction/xa/XAResource.html#recover-int-">recover</a></span>(int flag)</code>
<div class="block">
从资源管理器获取准备好的事务分支列表。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/transaction/xa/XAResource.html#rollback-javax.transaction.xa.Xid-">rollback</a></span>(<a href="../../../javax/transaction/xa/Xid.html" title="interface in javax.transaction.xa">Xid</a> xid)</code>
<div class="block">
通知资源管理器代表交易分支回滚完成的工作。
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/transaction/xa/XAResource.html#setTransactionTimeout-int-">setTransactionTimeout</a></span>(int seconds)</code>
<div class="block">
设置此
<code>XAResource</code>实例的当前事务超时值。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/transaction/xa/XAResource.html#start-javax.transaction.xa.Xid-int-">start</a></span>(<a href="../../../javax/transaction/xa/Xid.html" title="interface in javax.transaction.xa">Xid</a> xid, int flags)</code>
<div class="block">
开始代表在指定的事务分支的工作
<code>xid</code>
</div> </td>
</tr>
</tbody>
</table> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- --> </a> <h3>字段详细信息</h3> <a name="TMENDRSCAN">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>TMENDRSCAN</h4> <pre>static final int TMENDRSCAN</pre>
<div class="block">
结束恢复扫描。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.transaction.xa.XAResource.TMENDRSCAN">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="TMFAIL">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>TMFAIL</h4> <pre>static final int TMFAIL</pre>
<div class="block">
将呼叫方解除关联,并标记事务分支回滚。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.transaction.xa.XAResource.TMFAIL">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="TMJOIN">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>TMJOIN</h4> <pre>static final int TMJOIN</pre>
<div class="block">
来电者正在加入现有的交易分支。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.transaction.xa.XAResource.TMJOIN">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="TMNOFLAGS">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>TMNOFLAGS</h4> <pre>static final int TMNOFLAGS</pre>
<div class="block">
使用TMNOFLAGS表示没有选择标志值。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.transaction.xa.XAResource.TMNOFLAGS">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="TMONEPHASE">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>TMONEPHASE</h4> <pre>static final int TMONEPHASE</pre>
<div class="block">
来电者正在使用单相优化。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.transaction.xa.XAResource.TMONEPHASE">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="TMRESUME">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>TMRESUME</h4> <pre>static final int TMRESUME</pre>
<div class="block">
来电者正在恢复与暂停的交易分支的关联。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.transaction.xa.XAResource.TMRESUME">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="TMSTARTRSCAN">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>TMSTARTRSCAN</h4> <pre>static final int TMSTARTRSCAN</pre>
<div class="block">
启动恢复扫描。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.transaction.xa.XAResource.TMSTARTRSCAN">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="TMSUCCESS">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>TMSUCCESS</h4> <pre>static final int TMSUCCESS</pre>
<div class="block">
从一个事务分支解除呼叫者。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.transaction.xa.XAResource.TMSUCCESS">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="TMSUSPEND">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>TMSUSPEND</h4> <pre>static final int TMSUSPEND</pre>
<div class="block">
来电者暂停(不结束)其与交易分支的关联。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.transaction.xa.XAResource.TMSUSPEND">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="XA_RDONLY">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>XA_RDONLY</h4> <pre>static final int XA_RDONLY</pre>
<div class="block">
事务分支是只读的,已经被提交。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.transaction.xa.XAResource.XA_RDONLY">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="XA_OK">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>XA_OK</h4> <pre>static final int XA_OK</pre>
<div class="block">
交易工作已正常准备。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.transaction.xa.XAResource.XA_OK">Constant Field Values</a>
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="commit-javax.transaction.xa.Xid-boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>commit</h4> <pre>void commit(<a href="../../../javax/transaction/xa/Xid.html" title="interface in javax.transaction.xa">Xid</a> xid,
boolean onePhase)
throws <a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></pre>
<div class="block">
提交由xid指定的全局事务。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>xid</code> - 全局事务标识符
</dd>
<dd>
<code>onePhase</code> - 如果为true资源管理器应使用一阶段提交协议来代表xid完成所做的工作。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></code> - 发生错误。</span>
<span>XAExceptions是XA_HEURHAZXA_HEURCOMXA_HEURRBXA_HEURMIXXAER_RMERRXAER_RMFAILXAER_NOTAXAER_INVAL或XAER_PROTO。</span>
<p> <span>如果资源管理器没有提交事务并且参数onePhase被设置为true资源管理器可能会抛出一个XA_RB *异常。</span> <span>返回后,资源管理器已经回滚了分支机构的工作,并已发布了所有持有的资源。</span> </p>
</dd>
</dl> </li>
</ul> <a name="end-javax.transaction.xa.Xid-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>end</h4> <pre>void end(<a href="../../../javax/transaction/xa/Xid.html" title="interface in javax.transaction.xa">Xid</a> xid,
int flags)
throws <a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></pre>
<div class="block">
<span>结束代表交易分支执行的工作。</span>
<span>资源管理器将XA资源与指定的事务分支分离并使事务完成。</span>
<p> <span>如果在标志中指定了TMSUSPEND则事务分支将暂停在不完整状态。</span> <span>交易上下文处于挂起状态必须通过指定TMRESUME的<code>start</code>方法恢复。</span> </p>
<p> <span>如果指定了TMFAIL则该部分工作失败。</span> <span>资源管理器可以将事务标记为仅回滚</span> </p>
<p> <span>如果指定了TMSUCCESS则部分工作已成功完成。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>xid</code> - 与以前在
<code>start</code>方法中使用的标识符相同的全局事务标识符。
</dd>
<dd>
<code>flags</code> - TMSUCCESSTMFAIL或TMSUSPEND之一。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></code> - 发生错误。</span>
<span>可能的XAException值为XAER_RMERRXAER_RMFAILEDXAER_NOTAXAER_INVALXAER_PROTO或XA_RB *。</span>
</dd>
</dl> </li>
</ul> <a name="forget-javax.transaction.xa.Xid-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>forget</h4> <pre>void forget(<a href="../../../javax/transaction/xa/Xid.html" title="interface in javax.transaction.xa">Xid</a> xid)
throws <a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></pre>
<div class="block">
告诉资源管理器忘记一个启发式完成的事务分支。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>xid</code> - 全局事务标识符。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></code> - 发生错误。</span>
<span>可能的异常值为XAER_RMERRXAER_RMFAILXAER_NOTAXAER_INVAL或XAER_PROTO。</span>
</dd>
</dl> </li>
</ul> <a name="getTransactionTimeout--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getTransactionTimeout</h4> <pre>int getTransactionTimeout()
throws <a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></pre>
<div class="block">
<span>获取为此XAResource实例设置的当前事务超时值。</span>
<span>如果在调用此方法之前未使用<code>XAResource.setTransactionTimeout</code> ,则返回值是为资源管理器设置的默认超时值;</span>
<span>否则返回在前<code>setTransactionTimeout</code>通话中使用的值。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
事务超时值(以秒为单位)。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></code> - 发生错误。</span>
<span>可能的异常值为XAER_RMERR和XAER_RMFAIL。</span>
</dd>
</dl> </li>
</ul> <a name="isSameRM-javax.transaction.xa.XAResource-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isSameRM</h4> <pre>boolean isSameRM(<a href="../../../javax/transaction/xa/XAResource.html" title="interface in javax.transaction.xa">XAResource</a> xares)
throws <a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></pre>
<div class="block">
调用此方法来确定由目标对象表示的资源管理器实例是否与由参数
<i>xares</i>表示的资源管理器实例相同。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>xares</code> - 其资源管理器实例与目标对象的资源管理器实例进行比较的XAResource对象。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>如果是相同的RM实例 <i>则为true</i> ;</span>
<span>否则为<i>虚假</i></span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></code> - 发生错误。</span>
<span>可能的异常值为XAER_RMERR和XAER_RMFAIL。</span>
</dd>
</dl> </li>
</ul> <a name="prepare-javax.transaction.xa.Xid-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>prepare</h4> <pre>int prepare(<a href="../../../javax/transaction/xa/Xid.html" title="interface in javax.transaction.xa">Xid</a> xid)
throws <a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></pre>
<div class="block">
请求资源管理器准备xid中指定的事务的事务提交。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>xid</code> - 全局事务标识符。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>一个值,表示资源经理对交易结果的投票。</span>
<span>可能的值为XA_RDONLY或XA_OK。</span>
<span>如果资源管理器想要回滚事务则应该通过在prepare方法中引发适当的XAException来实现。</span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></code> - 发生错误。</span>
<span>可能的异常值为XA_RB *XAER_RMERRXAER_RMFAILXAER_NOTAXAER_INVAL或XAER_PROTO。</span>
</dd>
</dl> </li>
</ul> <a name="recover-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>recover</h4> <pre><a href="../../../javax/transaction/xa/Xid.html" title="interface in javax.transaction.xa">Xid</a>[] recover(int flag)
throws <a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></pre>
<div class="block">
<span>从资源管理器获取准备好的事务分支列表。</span>
<span>事务管理器在恢复期间调用此方法以获取当前处于准备状态或启发式完成状态的事务分支列表。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>flag</code> - TMSTARTRSCANTMENDRSCANTMNOFLAGS之一。</span>
<span>在参数中不设置其他标志时必须使用TMNOFLAGS。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>资源管理器返回当前处于准备或启发式完成状态的事务分支的零个或多个XID。</span>
<span>如果在操作期间发生错误资源管理器应该抛出适当的XAException。</span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></code> - 发生错误。</span>
<span>可能的值为XAER_RMERRXAER_RMFAILXAER_INVAL和XAER_PROTO。</span>
</dd>
</dl> </li>
</ul> <a name="rollback-javax.transaction.xa.Xid-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>rollback</h4> <pre>void rollback(<a href="../../../javax/transaction/xa/Xid.html" title="interface in javax.transaction.xa">Xid</a> xid)
throws <a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></pre>
<div class="block">
通知资源管理器代表交易分支回滚完成的工作。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>xid</code> - 全局事务标识符。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></code> - 发生错误。
</dd>
</dl> </li>
</ul> <a name="setTransactionTimeout-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setTransactionTimeout</h4> <pre>boolean setTransactionTimeout(int seconds)
throws <a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></pre>
<div class="block">
<p> <span>设置此<code>XAResource</code>实例的当前事务超时值。</span> <span>一旦设置,此超时值将有效,直到<code>setTransactionTimeout</code>被再次调用不同的值。</span> <span>要将超时值重置为资源管理器使用的默认值,请将该值设置为零。</span> <span>如果超时操作成功执行,该方法返回<i>true</i> ;</span> <span>否则为<i>虚假</i></span> <span>如果资源管理器不支持明确设置事务超时值,则此方法返回<i>false</i></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>seconds</code> - 事务超时值(以秒为单位)。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span><i></i>如果交易超时值设置成功;</span>
<span>否则为<i>虚假</i></span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></code> - 发生错误。</span>
<span>可能的异常值为XAER_RMERRXAER_RMFAIL或XAER_INVAL。</span>
</dd>
</dl> </li>
</ul> <a name="start-javax.transaction.xa.Xid-int-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>start</h4> <pre>void start(<a href="../../../javax/transaction/xa/Xid.html" title="interface in javax.transaction.xa">Xid</a> xid,
int flags)
throws <a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></pre>
<div class="block">
<span>代表xid中<code>xid</code>事务处理开始工作。</span>
<span>如果指定了TMJOIN则启动适用于加入资源管理器以前看到的事务。</span>
<span>如果指定了TMRESUME则开始适用于恢复参数xid中指定的挂起<code>xid</code></span>
<span>如果既不指定TMJOIN也不指定TMRESUME并且资源管理器先前已看到由xid指定的<code>xid</code> 则资源管理器将使用XAER_DUPID错误代码引发XAException异常。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>xid</code> - 与资源
<code>xid</code>的全局事务标识符。
</dd>
<dd>
<code>flags</code> - TMNOFLAGSTMJOIN或TMRESUME之一。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../../javax/transaction/xa/XAException.html" title="class in javax.transaction.xa">XAException</a></code> - 发生错误。</span>
<span>可能的例外是XA_RB *XAER_RMERRXAER_RMFAILXAER_DUPIDXAER_OUTSIDEXAER_NOTAXAER_INVAL或XAER_PROTO。</span>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>