blob: 67bb94b88760e30fc2ba7f0d3f5022b7b7e5953f [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>activemq-cpp-3.4.0: cms::XAConnectionFactory Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">activemq-cpp-3.4.0</div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
</ul>
</div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
initNavTree('classcms_1_1_x_a_connection_factory.html','');
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> </div>
<div class="headertitle">
<h1>cms::XAConnectionFactory Class Reference</h1> </div>
</div>
<div class="contents">
<!-- doxytag: class="cms::XAConnectionFactory" -->
<p>The <a class="el" href="classcms_1_1_x_a_connection_factory.html" title="The XAConnectionFactory interface is specialized interface that defines an ConnectionFactory that cre...">XAConnectionFactory</a> interface is specialized interface that defines an <a class="el" href="classcms_1_1_connection_factory.html" title="Defines the interface for a factory that creates connection objects, the Connection objects returned ...">ConnectionFactory</a> that creates <a class="el" href="classcms_1_1_connection.html" title="The client&#39;s connection to its provider.">Connection</a> instance that will participate in XA Transactions.
<a href="#_details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_x_a_connection_factory_8h_source.html">src/main/cms/XAConnectionFactory.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cms::XAConnectionFactory:</div>
<div class="dyncontent">
<div class="center"><img src="classcms_1_1_x_a_connection_factory__inherit__graph.png" border="0" usemap="#cms_1_1_x_a_connection_factory_inherit__map" alt="Inheritance graph"/></div>
<map name="cms_1_1_x_a_connection_factory_inherit__map" id="cms_1_1_x_a_connection_factory_inherit__map">
<area shape="rect" id="node3" href="classactivemq_1_1core_1_1_active_m_q_x_a_connection_factory.html" title="activemq::core::ActiveMQXAConnectionFactory" alt="" coords="5,83,355,112"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcms_1_1_x_a_connection_factory.html#a0dff0517ecf510885db585c2b124d54e">~XAConnectionFactory</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classcms_1_1_x_a_connection.html">XAConnection</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcms_1_1_x_a_connection_factory.html#a60a75bdce8c364764d4ecd6aec89d20f">createXAConnection</a> ()=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an <a class="el" href="classcms_1_1_x_a_connection.html" title="The XAConnection interface defines an extended Connection type that is used to create XASession objec...">XAConnection</a> with the default user name and password. <a href="#a60a75bdce8c364764d4ecd6aec89d20f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classcms_1_1_x_a_connection.html">XAConnection</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcms_1_1_x_a_connection_factory.html#a66c70cf426ae870471e5199e5c0d33ba">createXAConnection</a> (const std::string &amp;userName, const std::string &amp;password)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an XA connection with the specified user name and password. <a href="#a66c70cf426ae870471e5199e5c0d33ba"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classcms_1_1_x_a_connection_factory.html">XAConnectionFactory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcms_1_1_x_a_connection_factory.html#abeadd732d4baed2916ae0da7f6bb017d">createCMSXAConnectionFactory</a> (const std::string &amp;brokerURI)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Static method that is used to create a provider specific XA <a class="el" href="classcms_1_1_connection.html" title="The client&#39;s connection to its provider.">Connection</a> factory. <a href="#abeadd732d4baed2916ae0da7f6bb017d"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>The <a class="el" href="classcms_1_1_x_a_connection_factory.html" title="The XAConnectionFactory interface is specialized interface that defines an ConnectionFactory that cre...">XAConnectionFactory</a> interface is specialized interface that defines an <a class="el" href="classcms_1_1_connection_factory.html" title="Defines the interface for a factory that creates connection objects, the Connection objects returned ...">ConnectionFactory</a> that creates <a class="el" href="classcms_1_1_connection.html" title="The client&#39;s connection to its provider.">Connection</a> instance that will participate in XA Transactions. </p>
<p>Some application provide support for grouping XA capable resource use into a distributed transaction (optional). To include CMS API transactions in a XA transaction, an application requires a XA aware library. A CMS provider exposes its XA support using an <a class="el" href="classcms_1_1_x_a_connection_factory.html" title="The XAConnectionFactory interface is specialized interface that defines an ConnectionFactory that cre...">XAConnectionFactory</a> object, which an application uses to create <a class="el" href="classcms_1_1_x_a_connection.html" title="The XAConnection interface defines an extended Connection type that is used to create XASession objec...">XAConnection</a> objects.</p>
<p>The <a class="el" href="classcms_1_1_x_a_connection_factory.html" title="The XAConnectionFactory interface is specialized interface that defines an ConnectionFactory that cre...">XAConnectionFactory</a> interface is optional. CMS providers are not required to support this interface. This interface is for use by CMS 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.</p>
<dl class="since"><dt><b>Since:</b></dt><dd>2.3 </dd></dl>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a0dff0517ecf510885db585c2b124d54e"></a><!-- doxytag: member="cms::XAConnectionFactory::~XAConnectionFactory" ref="a0dff0517ecf510885db585c2b124d54e" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual cms::XAConnectionFactory::~XAConnectionFactory </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="abeadd732d4baed2916ae0da7f6bb017d"></a><!-- doxytag: member="cms::XAConnectionFactory::createCMSXAConnectionFactory" ref="abeadd732d4baed2916ae0da7f6bb017d" args="(const std::string &amp;brokerURI)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classcms_1_1_x_a_connection_factory.html">XAConnectionFactory</a>* cms::XAConnectionFactory::createCMSXAConnectionFactory </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>brokerURI</em></td><td>)</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Static method that is used to create a provider specific XA <a class="el" href="classcms_1_1_connection.html" title="The client&#39;s connection to its provider.">Connection</a> factory. </p>
<p>The provider implements this method in their library and returns an instance of a <a class="el" href="classcms_1_1_x_a_connection_factory.html" title="The XAConnectionFactory interface is specialized interface that defines an ConnectionFactory that cre...">XAConnectionFactory</a> derived object. Clients can use this method to remain abstracted from the specific CMS implementation being used.</p>
<p>The XA interfaces are optional in CMS however if a provider chooses to omit them it should still override this method and throw an <a class="el" href="classcms_1_1_unsupported_operation_exception.html" title="This exception must be thrown when a CMS client attempts use a CMS method that is not implemented or ...">UnsupportedOperationException</a> to indicate that it doesn't provide this functionality.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">brokerURI</td><td>The remote address to use to connect to the Provider.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to a provider specific implementation of the <a class="el" href="classcms_1_1_x_a_connection_factory.html" title="The XAConnectionFactory interface is specialized interface that defines an ConnectionFactory that cre...">XAConnectionFactory</a> interface, the caller is responsible for deleting this resource.</dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="el" href="classcms_1_1_c_m_s_exception.html" title="CMS API Exception that is the base for all exceptions thrown from CMS classes.">CMSException</a></td><td>if an internal error occurs while creating the <a class="el" href="classcms_1_1_x_a_connection_factory.html" title="The XAConnectionFactory interface is specialized interface that defines an ConnectionFactory that cre...">XAConnectionFactory</a>. </td></tr>
<tr><td class="paramname"><a class="el" href="classcms_1_1_unsupported_operation_exception.html" title="This exception must be thrown when a CMS client attempts use a CMS method that is not implemented or ...">UnsupportedOperationException</a></td><td>if the provider does not support the XA API. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a60a75bdce8c364764d4ecd6aec89d20f"></a><!-- doxytag: member="cms::XAConnectionFactory::createXAConnection" ref="a60a75bdce8c364764d4ecd6aec89d20f" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classcms_1_1_x_a_connection.html">XAConnection</a>* cms::XAConnectionFactory::createXAConnection </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates an <a class="el" href="classcms_1_1_x_a_connection.html" title="The XAConnection interface defines an extended Connection type that is used to create XASession objec...">XAConnection</a> with the default user name and password. </p>
<p>The connection is created in stopped mode just as the standard <a class="el" href="classcms_1_1_connection.html" title="The client&#39;s connection to its provider.">Connection</a> object is created from the <a class="el" href="classcms_1_1_connection_factory.html" title="Defines the interface for a factory that creates connection objects, the Connection objects returned ...">ConnectionFactory</a>. No messages will be delivered until the <a class="el" href="classcms_1_1_startable.html#ad40903c18cca87ceee9aa5ae176ac811" title="Starts the service.">Connection.start</a> method is explicitly called.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a new <a class="el" href="classcms_1_1_x_a_connection_factory.html" title="The XAConnectionFactory interface is specialized interface that defines an ConnectionFactory that cre...">XAConnectionFactory</a> instance, the caller owns the returned pointer.</dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="el" href="classcms_1_1_c_m_s_exception.html" title="CMS API Exception that is the base for all exceptions thrown from CMS classes.">CMSException</a></td><td>if an internal error occurs while creating the <a class="el" href="classcms_1_1_connection.html" title="The client&#39;s connection to its provider.">Connection</a>. </td></tr>
<tr><td class="paramname"><a class="el" href="classcms_1_1_c_m_s_security_exception.html" title="This exception must be thrown when a provider rejects a user name/password submitted by a client...">CMSSecurityException</a></td><td>if the client authentication fails because the user name or password are invalid. </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classactivemq_1_1core_1_1_active_m_q_x_a_connection_factory.html#a90a5e28a2dc37f449a785d2e6f4f29ae">activemq::core::ActiveMQXAConnectionFactory</a>.</p>
</div>
</div>
<a class="anchor" id="a66c70cf426ae870471e5199e5c0d33ba"></a><!-- doxytag: member="cms::XAConnectionFactory::createXAConnection" ref="a66c70cf426ae870471e5199e5c0d33ba" args="(const std::string &amp;userName, const std::string &amp;password)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classcms_1_1_x_a_connection.html">XAConnection</a>* cms::XAConnectionFactory::createXAConnection </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>userName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>password</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates an XA connection with the specified user name and password. </p>
<p>The connection is created in stopped mode just as the standard <a class="el" href="classcms_1_1_connection_factory.html" title="Defines the interface for a factory that creates connection objects, the Connection objects returned ...">ConnectionFactory</a> creates a new <a class="el" href="classcms_1_1_connection.html" title="The client&#39;s connection to its provider.">Connection</a>. No messages will be delivered until the <a class="el" href="classcms_1_1_startable.html#ad40903c18cca87ceee9aa5ae176ac811" title="Starts the service.">Connection.start</a> method is explicitly called.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a new <a class="el" href="classcms_1_1_x_a_connection_factory.html" title="The XAConnectionFactory interface is specialized interface that defines an ConnectionFactory that cre...">XAConnectionFactory</a> instance, the caller owns the returned pointer.</dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="el" href="classcms_1_1_c_m_s_exception.html" title="CMS API Exception that is the base for all exceptions thrown from CMS classes.">CMSException</a></td><td>if an internal error occurs while creating the <a class="el" href="classcms_1_1_connection.html" title="The client&#39;s connection to its provider.">Connection</a>. </td></tr>
<tr><td class="paramname"><a class="el" href="classcms_1_1_c_m_s_security_exception.html" title="This exception must be thrown when a provider rejects a user name/password submitted by a client...">CMSSecurityException</a></td><td>if the client authentication fails because the user name or password are invalid. </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classactivemq_1_1core_1_1_active_m_q_x_a_connection_factory.html#a7bf38f4257407c35b1e5d100a68dfe54">activemq::core::ActiveMQXAConnectionFactory</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/main/cms/<a class="el" href="_x_a_connection_factory_8h_source.html">XAConnectionFactory.h</a></li>
</ul>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecms.html">cms</a> </li>
<li class="navelem"><a class="el" href="classcms_1_1_x_a_connection_factory.html">XAConnectionFactory</a> </li>
<li class="footer">Generated on Mon Apr 25 2011 for activemq-cpp-3.4.0 by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li>
</ul>
</div>
</body>
</html>