blob: 65a9491ff0e5871819514887f8b4f8a4dcb91aa5 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>XAJMSContext</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="XAJMSContext";
}
}
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/jms/XAConnectionFactory.html" title="interface in javax.jms"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../javax/jms/XAQueueConnection.html" title="interface in javax.jms"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?javax/jms/XAJMSContext.html" target="_top">Frames</a></li>
<li><a href="XAJMSContext.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.jms</div>
<h2 title="Interface XAJMSContext" class="title">Interface XAJMSContext</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd>java.lang.AutoCloseable, <a href="../../javax/jms/JMSContext.html" title="interface in javax.jms">JMSContext</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../org/apache/openejb/resource/activemq/jms2/XAJMSContextImpl.html" title="class in org.apache.openejb.resource.activemq.jms2">XAJMSContextImpl</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">XAJMSContext</span>
extends <a href="../../javax/jms/JMSContext.html" title="interface in javax.jms">JMSContext</a></pre>
<div class="block">The <code>XAJMSContext</code> interface extends the capability of <code>JMSContext</code> by adding access to a JMS provider's
support for the Java Transaction API (JTA) (optional). This support takes the form of a
<code>javax.transaction.xa.XAResource</code> object. The functionality of this object closely resembles that defined by
the standard X/Open XA Resource interface.
<p>
An application server controls the transactional assignment of an <code>XASession</code> by obtaining its
<code>XAResource</code>. It uses the <code>XAResource</code> to assign the session to a transaction, prepare and commit work on
the transaction, and so on.
<p>
An <code>XAResource</code> provides some fairly sophisticated facilities for interleaving work on multiple transactions,
recovering a list of transactions in progress, and so on. A JTA aware JMS provider must fully implement this
functionality. This could be done by using the services of a database that supports XA, or a JMS provider may choose
to implement this functionality from scratch.
<p>
A client of the application server is given what it thinks is an ordinary <code>JMSContext</code>. Behind the scenes, the
application server controls the transaction management of the underlying <code>XAJMSContext</code>.
<p>
The <code>XAJMSContext</code> interface is optional. JMS providers are not required to support this interface. This
interface is for use by JMS providers to support transactional environments. Client programs are strongly encouraged
to use the transactional support available in their environment, rather than use these XA interfaces directly.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JMS 2.0</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.javax.jms.JMSContext">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;javax.jms.<a href="../../javax/jms/JMSContext.html" title="interface in javax.jms">JMSContext</a></h3>
<code><a href="../../javax/jms/JMSContext.html#AUTO_ACKNOWLEDGE">AUTO_ACKNOWLEDGE</a>, <a href="../../javax/jms/JMSContext.html#CLIENT_ACKNOWLEDGE">CLIENT_ACKNOWLEDGE</a>, <a href="../../javax/jms/JMSContext.html#DUPS_OK_ACKNOWLEDGE">DUPS_OK_ACKNOWLEDGE</a>, <a href="../../javax/jms/JMSContext.html#SESSION_TRANSACTED">SESSION_TRANSACTED</a></code></li>
</ul>
</li>
</ul>
<!-- ========== 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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/jms/XAJMSContext.html#commit--">commit</a></span>()</code>
<div class="block">Throws a <code>TransactionInProgressRuntimeException</code>, since it should not be called for an <code>XAJMSContext</code>
object.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../javax/jms/JMSContext.html" title="interface in javax.jms">JMSContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/jms/XAJMSContext.html#getContext--">getContext</a></span>()</code>
<div class="block">Returns the <code>JMSContext</code> object associated with this <code>XAJMSContext</code>.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/jms/XAJMSContext.html#getTransacted--">getTransacted</a></span>()</code>
<div class="block">Returns whether the session is in transacted mode; this method always returns true.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>javax.transaction.xa.XAResource</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/jms/XAJMSContext.html#getXAResource--">getXAResource</a></span>()</code>
<div class="block">Returns an <code>XAResource</code> to the caller.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/jms/XAJMSContext.html#rollback--">rollback</a></span>()</code>
<div class="block">Throws a <code>TransactionInProgressRuntimeException</code>, since it should not be called for an <code>XAJMSContext</code>
object.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.jms.JMSContext">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;javax.jms.<a href="../../javax/jms/JMSContext.html" title="interface in javax.jms">JMSContext</a></h3>
<code><a href="../../javax/jms/JMSContext.html#acknowledge--">acknowledge</a>, <a href="../../javax/jms/JMSContext.html#close--">close</a>, <a href="../../javax/jms/JMSContext.html#createBrowser-javax.jms.Queue-">createBrowser</a>, <a href="../../javax/jms/JMSContext.html#createBrowser-javax.jms.Queue-java.lang.String-">createBrowser</a>, <a href="../../javax/jms/JMSContext.html#createBytesMessage--">createBytesMessage</a>, <a href="../../javax/jms/JMSContext.html#createConsumer-javax.jms.Destination-">createConsumer</a>, <a href="../../javax/jms/JMSContext.html#createConsumer-javax.jms.Destination-java.lang.String-">createConsumer</a>, <a href="../../javax/jms/JMSContext.html#createConsumer-javax.jms.Destination-java.lang.String-boolean-">createConsumer</a>, <a href="../../javax/jms/JMSContext.html#createContext-int-">createContext</a>, <a href="../../javax/jms/JMSContext.html#createDurableConsumer-javax.jms.Topic-java.lang.String-">createDurableConsumer</a>, <a href="../../javax/jms/JMSContext.html#createDurableConsumer-javax.jms.Topic-java.lang.String-java.lang.String-boolean-">createDurableConsumer</a>, <a href="../../javax/jms/JMSContext.html#createMapMessage--">createMapMessage</a>, <a href="../../javax/jms/JMSContext.html#createMessage--">createMessage</a>, <a href="../../javax/jms/JMSContext.html#createObjectMessage--">createObjectMessage</a>, <a href="../../javax/jms/JMSContext.html#createObjectMessage-java.io.Serializable-">createObjectMessage</a>, <a href="../../javax/jms/JMSContext.html#createProducer--">createProducer</a>, <a href="../../javax/jms/JMSContext.html#createQueue-java.lang.String-">createQueue</a>, <a href="../../javax/jms/JMSContext.html#createSharedConsumer-javax.jms.Topic-java.lang.String-">createSharedConsumer</a>, <a href="../../javax/jms/JMSContext.html#createSharedConsumer-javax.jms.Topic-java.lang.String-java.lang.String-">createSharedConsumer</a>, <a href="../../javax/jms/JMSContext.html#createSharedDurableConsumer-javax.jms.Topic-java.lang.String-">createSharedDurableConsumer</a>, <a href="../../javax/jms/JMSContext.html#createSharedDurableConsumer-javax.jms.Topic-java.lang.String-java.lang.String-">createSharedDurableConsumer</a>, <a href="../../javax/jms/JMSContext.html#createStreamMessage--">createStreamMessage</a>, <a href="../../javax/jms/JMSContext.html#createTemporaryQueue--">createTemporaryQueue</a>, <a href="../../javax/jms/JMSContext.html#createTemporaryTopic--">createTemporaryTopic</a>, <a href="../../javax/jms/JMSContext.html#createTextMessage--">createTextMessage</a>, <a href="../../javax/jms/JMSContext.html#createTextMessage-java.lang.String-">createTextMessage</a>, <a href="../../javax/jms/JMSContext.html#createTopic-java.lang.String-">createTopic</a>, <a href="../../javax/jms/JMSContext.html#getAutoStart--">getAutoStart</a>, <a href="../../javax/jms/JMSContext.html#getClientID--">getClientID</a>, <a href="../../javax/jms/JMSContext.html#getExceptionListener--">getExceptionListener</a>, <a href="../../javax/jms/JMSContext.html#getMetaData--">getMetaData</a>, <a href="../../javax/jms/JMSContext.html#getSessionMode--">getSessionMode</a>, <a href="../../javax/jms/JMSContext.html#recover--">recover</a>, <a href="../../javax/jms/JMSContext.html#setAutoStart-boolean-">setAutoStart</a>, <a href="../../javax/jms/JMSContext.html#setClientID-java.lang.String-">setClientID</a>, <a href="../../javax/jms/JMSContext.html#setExceptionListener-javax.jms.ExceptionListener-">setExceptionListener</a>, <a href="../../javax/jms/JMSContext.html#start--">start</a>, <a href="../../javax/jms/JMSContext.html#stop--">stop</a>, <a href="../../javax/jms/JMSContext.html#unsubscribe-java.lang.String-">unsubscribe</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="getContext--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContext</h4>
<pre><a href="../../javax/jms/JMSContext.html" title="interface in javax.jms">JMSContext</a>&nbsp;getContext()</pre>
<div class="block">Returns the <code>JMSContext</code> object associated with this <code>XAJMSContext</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <code>JMSContext</code> object associated with this <code>XAJMSContext</code></dd>
</dl>
</li>
</ul>
<a name="getXAResource--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getXAResource</h4>
<pre>javax.transaction.xa.XAResource&nbsp;getXAResource()</pre>
<div class="block">Returns an <code>XAResource</code> to the caller.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an <code>XAResource</code></dd>
</dl>
</li>
</ul>
<a name="getTransacted--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTransacted</h4>
<pre>boolean&nbsp;getTransacted()</pre>
<div class="block">Returns whether the session is in transacted mode; this method always returns true.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javax/jms/JMSContext.html#getTransacted--">getTransacted</a></code>&nbsp;in interface&nbsp;<code><a href="../../javax/jms/JMSContext.html" title="interface in javax.jms">JMSContext</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true</dd>
</dl>
</li>
</ul>
<a name="commit--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>commit</h4>
<pre>void&nbsp;commit()</pre>
<div class="block">Throws a <code>TransactionInProgressRuntimeException</code>, since it should not be called for an <code>XAJMSContext</code>
object.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javax/jms/JMSContext.html#commit--">commit</a></code>&nbsp;in interface&nbsp;<code><a href="../../javax/jms/JMSContext.html" title="interface in javax.jms">JMSContext</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../javax/jms/TransactionInProgressRuntimeException.html" title="class in javax.jms">TransactionInProgressRuntimeException</a></code> - if the method is called on an <code>XAJMSContext</code>.</dd>
</dl>
</li>
</ul>
<a name="rollback--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>rollback</h4>
<pre>void&nbsp;rollback()</pre>
<div class="block">Throws a <code>TransactionInProgressRuntimeException</code>, since it should not be called for an <code>XAJMSContext</code>
object.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javax/jms/JMSContext.html#rollback--">rollback</a></code>&nbsp;in interface&nbsp;<code><a href="../../javax/jms/JMSContext.html" title="interface in javax.jms">JMSContext</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../javax/jms/TransactionInProgressRuntimeException.html" title="class in javax.jms">TransactionInProgressRuntimeException</a></code> - if the method is called on an <code>XAJMSContext</code>.</dd>
</dl>
</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/jms/XAConnectionFactory.html" title="interface in javax.jms"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../javax/jms/XAQueueConnection.html" title="interface in javax.jms"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?javax/jms/XAJMSContext.html" target="_top">Frames</a></li>
<li><a href="XAJMSContext.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>