<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Apache Geode Native .NET Reference: Apache::Geode::Client::CacheTransactionManager Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Apache Geode Native .NET Reference
   &#160;<span id="projectnumber">1.13.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a00550.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#properties">Properties</a>  </div>
  <div class="headertitle">
<div class="title">Apache::Geode::Client::CacheTransactionManager Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><a class="el" href="a00550.html" title="CacheTransactionManager encapsulates the transactions for a cache">CacheTransactionManager</a> encapsulates the transactions for a cache  
 <a href="a00550.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af2f8288aa7b663978ba7d3a2655c755a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00550.html#af2f8288aa7b663978ba7d3a2655c755a">Begin</a> ()</td></tr>
<tr class="memdesc:af2f8288aa7b663978ba7d3a2655c755a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new transaction and associates it with the current thread.  <a href="#af2f8288aa7b663978ba7d3a2655c755a">More...</a><br /></td></tr>
<tr class="separator:af2f8288aa7b663978ba7d3a2655c755a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac38175f3fab4daaf8edd63711bafc118"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00550.html#ac38175f3fab4daaf8edd63711bafc118">Commit</a> ()</td></tr>
<tr class="memdesc:ac38175f3fab4daaf8edd63711bafc118"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commit the transaction associated with the current thread.  <a href="#ac38175f3fab4daaf8edd63711bafc118">More...</a><br /></td></tr>
<tr class="separator:ac38175f3fab4daaf8edd63711bafc118"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d12b3027a85b8d67c71132590559e64"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00550.html#a1d12b3027a85b8d67c71132590559e64">Exists</a> ()</td></tr>
<tr class="memdesc:a1d12b3027a85b8d67c71132590559e64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reports the existence of a Transaction for this thread  <a href="#a1d12b3027a85b8d67c71132590559e64">More...</a><br /></td></tr>
<tr class="separator:a1d12b3027a85b8d67c71132590559e64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a076967cbd09a69c1f583ac22d3fd50f1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00550.html#a076967cbd09a69c1f583ac22d3fd50f1">Exists</a> (<a class="el" href="a01134.html">Apache::Geode::Client::TransactionId</a>^ transactionId)</td></tr>
<tr class="memdesc:a076967cbd09a69c1f583ac22d3fd50f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reports the existence of a transaction for the given transactionId.  <a href="#a076967cbd09a69c1f583ac22d3fd50f1">More...</a><br /></td></tr>
<tr class="separator:a076967cbd09a69c1f583ac22d3fd50f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cbedabc7f4fb3fc861260b1b67c3b41"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00550.html#a3cbedabc7f4fb3fc861260b1b67c3b41">IsSuspended</a> (<a class="el" href="a01134.html">Apache::Geode::Client::TransactionId</a>^ transactionId)</td></tr>
<tr class="memdesc:a3cbedabc7f4fb3fc861260b1b67c3b41"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method can be used to determine if a transaction with the given transaction identifier is currently suspended locally.  <a href="#a3cbedabc7f4fb3fc861260b1b67c3b41">More...</a><br /></td></tr>
<tr class="separator:a3cbedabc7f4fb3fc861260b1b67c3b41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0291325839d6cd074ae8391968412771"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00550.html#a0291325839d6cd074ae8391968412771">Prepare</a> ()</td></tr>
<tr class="memdesc:a0291325839d6cd074ae8391968412771"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prepare the first message of two-phase-commit transaction associated with the current thread.  <a href="#a0291325839d6cd074ae8391968412771">More...</a><br /></td></tr>
<tr class="separator:a0291325839d6cd074ae8391968412771"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6375c76c1a0e5c50302130cabaa4e316"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00550.html#a6375c76c1a0e5c50302130cabaa4e316">Resume</a> (<a class="el" href="a01134.html">Apache::Geode::Client::TransactionId</a>^ transactionId)</td></tr>
<tr class="memdesc:a6375c76c1a0e5c50302130cabaa4e316"><td class="mdescLeft">&#160;</td><td class="mdescRight">On the current thread, resumes a transaction that was previously suspended using suspend  <a href="#a6375c76c1a0e5c50302130cabaa4e316">More...</a><br /></td></tr>
<tr class="separator:a6375c76c1a0e5c50302130cabaa4e316"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a544da9b1f298939539e3dbd86d605002"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00550.html#a544da9b1f298939539e3dbd86d605002">Rollback</a> ()</td></tr>
<tr class="memdesc:a544da9b1f298939539e3dbd86d605002"><td class="mdescLeft">&#160;</td><td class="mdescRight">Roll back the transaction associated with the current thread.  <a href="#a544da9b1f298939539e3dbd86d605002">More...</a><br /></td></tr>
<tr class="separator:a544da9b1f298939539e3dbd86d605002"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7e1b071a63f39a39a42f3ef344dffc0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01134.html">Apache::Geode::Client::TransactionId</a> ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00550.html#ad7e1b071a63f39a39a42f3ef344dffc0">Suspend</a> ()</td></tr>
<tr class="memdesc:ad7e1b071a63f39a39a42f3ef344dffc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspends the transaction on the current thread.  <a href="#ad7e1b071a63f39a39a42f3ef344dffc0">More...</a><br /></td></tr>
<tr class="separator:ad7e1b071a63f39a39a42f3ef344dffc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1493f0282315dd19fe3bb0a2824445a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00550.html#ae1493f0282315dd19fe3bb0a2824445a">TryResume</a> (<a class="el" href="a01134.html">Apache::Geode::Client::TransactionId</a>^ transactionId)</td></tr>
<tr class="memdesc:ae1493f0282315dd19fe3bb0a2824445a"><td class="mdescLeft">&#160;</td><td class="mdescRight">On the current thread, resumes a transaction that was previously suspended using suspend.  <a href="#ae1493f0282315dd19fe3bb0a2824445a">More...</a><br /></td></tr>
<tr class="separator:ae1493f0282315dd19fe3bb0a2824445a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89403acd3ccff28ec2fc46598f479a0f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00550.html#a89403acd3ccff28ec2fc46598f479a0f">TryResume</a> (<a class="el" href="a01134.html">Apache::Geode::Client::TransactionId</a>^ transactionId, TimeSpan waitTime)</td></tr>
<tr class="memdesc:a89403acd3ccff28ec2fc46598f479a0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">On the current thread, resumes a transaction that was previously suspended using suspend, or waits for the specified timeout interval if the transaction has not been suspended.  <a href="#a89403acd3ccff28ec2fc46598f479a0f">More...</a><br /></td></tr>
<tr class="separator:a89403acd3ccff28ec2fc46598f479a0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:ab97e2bebc979de7af96c2e93501133a2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01134.html">Apache::Geode::Client::TransactionId</a>^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00550.html#ab97e2bebc979de7af96c2e93501133a2">TransactionId</a><code> [get]</code></td></tr>
<tr class="memdesc:ab97e2bebc979de7af96c2e93501133a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the transaction identifier for the current thread  <a href="#ab97e2bebc979de7af96c2e93501133a2">More...</a><br /></td></tr>
<tr class="separator:ab97e2bebc979de7af96c2e93501133a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="a00550.html" title="CacheTransactionManager encapsulates the transactions for a cache">CacheTransactionManager</a> encapsulates the transactions for a cache </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="af2f8288aa7b663978ba7d3a2655c755a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2f8288aa7b663978ba7d3a2655c755a">&#9670;&nbsp;</a></span>Begin()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Apache::Geode::Client::CacheTransactionManager::Begin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates a new transaction and associates it with the current thread. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00638.html" title="Thrown when the state of cache is manipulated to be illegal.">IllegalStateException</a></td><td>Throws exception if the thread is already associated with a transaction </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ac38175f3fab4daaf8edd63711bafc118"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac38175f3fab4daaf8edd63711bafc118">&#9670;&nbsp;</a></span>Commit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Apache::Geode::Client::CacheTransactionManager::Commit </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Commit the transaction associated with the current thread. </p>
<p>If the commit operation fails due to a conflict it will destroy the transaction state and throw a <code><a class="el" href="a00862.html" title="Thrown if commit fails.">CommitConflictException</a></code>. If the commit operation succeeds,it returns after the transaction state has been merged with committed state. When this method completes, the thread is no longer associated with a transaction. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00638.html" title="Thrown when the state of cache is manipulated to be illegal.">IllegalStateException</a></td><td>if the thread is not associated with a transaction </td></tr>
    <tr><td class="paramname"><a class="el" href="a00862.html" title="Thrown if commit fails.">CommitConflictException</a></td><td>if the commit operation fails due to a write conflict. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a1d12b3027a85b8d67c71132590559e64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d12b3027a85b8d67c71132590559e64">&#9670;&nbsp;</a></span>Exists() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Apache::Geode::Client::CacheTransactionManager::Exists </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reports the existence of a Transaction for this thread </p>
<dl class="section return"><dt>Returns</dt><dd>true if a transaction exists, false otherwise</dd></dl>

</div>
</div>
<a id="a076967cbd09a69c1f583ac22d3fd50f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a076967cbd09a69c1f583ac22d3fd50f1">&#9670;&nbsp;</a></span>Exists() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Apache::Geode::Client::CacheTransactionManager::Exists </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01134.html">Apache::Geode::Client::TransactionId</a>^&#160;</td>
          <td class="paramname"><em>transactionId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reports the existence of a transaction for the given transactionId. </p>
<p>This method can be used to determine if a transaction with the given transaction identifier is currently in progress locally. </p>
<p>Since 3.6.2 </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">transactionId</td><td>the given transaction identifier</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the transaction is in progress, false otherwise.</dd></dl>
<p>isSuspended </p>

</div>
</div>
<a id="a3cbedabc7f4fb3fc861260b1b67c3b41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3cbedabc7f4fb3fc861260b1b67c3b41">&#9670;&nbsp;</a></span>IsSuspended()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Apache::Geode::Client::CacheTransactionManager::IsSuspended </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01134.html">Apache::Geode::Client::TransactionId</a>^&#160;</td>
          <td class="paramname"><em>transactionId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This method can be used to determine if a transaction with the given transaction identifier is currently suspended locally. </p>
<p>This method does not check other members for transaction status. </p>
<p>Since 3.6.2 </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">transactionId</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the transaction is in suspended state, false otherwise</dd></dl>
<p><a class="el" href="a01134.html" title="This class encapsulates Id of a transaction.">TransactionId</a> </p>

</div>
</div>
<a id="a0291325839d6cd074ae8391968412771"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0291325839d6cd074ae8391968412771">&#9670;&nbsp;</a></span>Prepare()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Apache::Geode::Client::CacheTransactionManager::Prepare </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Prepare the first message of two-phase-commit transaction associated with the current thread. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00638.html" title="Thrown when the state of cache is manipulated to be illegal.">IllegalStateException</a></td><td>if the thread is not associated with a transaction </td></tr>
    <tr><td class="paramname"><a class="el" href="a00862.html" title="Thrown if commit fails.">CommitConflictException</a></td><td>if the commit operation fails due to a write conflict. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a6375c76c1a0e5c50302130cabaa4e316"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6375c76c1a0e5c50302130cabaa4e316">&#9670;&nbsp;</a></span>Resume()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Apache::Geode::Client::CacheTransactionManager::Resume </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01134.html">Apache::Geode::Client::TransactionId</a>^&#160;</td>
          <td class="paramname"><em>transactionId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>On the current thread, resumes a transaction that was previously suspended using suspend </p>
<p>Since 3.6.2 </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">transactionId</td><td>the transaction to resume</td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00638.html" title="Thrown when the state of cache is manipulated to be illegal.">IllegalStateException</a></td><td>if the thread is associated with a transaction or if would return false for the given transactionId</td></tr>
  </table>
  </dd>
</dl>
<p><a class="el" href="a01134.html" title="This class encapsulates Id of a transaction.">TransactionId</a> </p>

</div>
</div>
<a id="a544da9b1f298939539e3dbd86d605002"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a544da9b1f298939539e3dbd86d605002">&#9670;&nbsp;</a></span>Rollback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Apache::Geode::Client::CacheTransactionManager::Rollback </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Roll back the transaction associated with the current thread. </p>
<p>When this method completes, the thread is no longer associated with a transaction and the transaction context is destroyed. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00638.html" title="Thrown when the state of cache is manipulated to be illegal.">IllegalStateException</a></td><td>if the thread is not associated with a transaction </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ad7e1b071a63f39a39a42f3ef344dffc0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7e1b071a63f39a39a42f3ef344dffc0">&#9670;&nbsp;</a></span>Suspend()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01134.html">Apache::Geode::Client::TransactionId</a> ^ Apache::Geode::Client::CacheTransactionManager::Suspend </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Suspends the transaction on the current thread. </p>
<p>All subsequent operations performed by this thread will be non-transactional. The suspended transaction can be resumed by calling <a class="el" href="a01134.html" title="This class encapsulates Id of a transaction.">TransactionId</a> </p>
<p>Since 3.6.2 </p>
<dl class="section return"><dt>Returns</dt><dd>the transaction identifier of the suspended transaction or null if the thread was not associated with a transaction</dd></dl>

</div>
</div>
<a id="ae1493f0282315dd19fe3bb0a2824445a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1493f0282315dd19fe3bb0a2824445a">&#9670;&nbsp;</a></span>TryResume() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Apache::Geode::Client::CacheTransactionManager::TryResume </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01134.html">Apache::Geode::Client::TransactionId</a>^&#160;</td>
          <td class="paramname"><em>transactionId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>On the current thread, resumes a transaction that was previously suspended using suspend. </p>
<p>This method is equivalent to <code> if (isSuspended(txId)) { resume(txId); } </code> except that this action is performed atomically </p>
<p>Since 3.6.2 </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">transactionId</td><td>the transaction to resume</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the transaction was resumed, false otherwise</dd></dl>

</div>
</div>
<a id="a89403acd3ccff28ec2fc46598f479a0f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89403acd3ccff28ec2fc46598f479a0f">&#9670;&nbsp;</a></span>TryResume() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Apache::Geode::Client::CacheTransactionManager::TryResume </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01134.html">Apache::Geode::Client::TransactionId</a>^&#160;</td>
          <td class="paramname"><em>transactionId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TimeSpan&#160;</td>
          <td class="paramname"><em>waitTime</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>On the current thread, resumes a transaction that was previously suspended using suspend, or waits for the specified timeout interval if the transaction has not been suspended. </p>
<p>This method will return if: </p>
<p>Another thread suspends the transaction </p>
<p>Another thread calls commit/rollback on the transaction </p>
<p>This thread has waited for the specified timeout </p>
<p>This method returns immediately if <a class="el" href="a01134.html" title="This class encapsulates Id of a transaction.">TransactionId</a> returns false. </p>
<p>Since 3.6.2 </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">transactionId</td><td>the transaction to resume</td></tr>
    <tr><td class="paramname">waitTime</td><td>the maximum time to wait </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the transaction was resumed, false otherwise</dd></dl>

</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a id="ab97e2bebc979de7af96c2e93501133a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab97e2bebc979de7af96c2e93501133a2">&#9670;&nbsp;</a></span>TransactionId</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Apache:: Geode:: Client:: <a class="el" href="a01134.html">TransactionId</a>^ Apache::Geode::Client::CacheTransactionManager::TransactionId</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the transaction identifier for the current thread </p>
<p>Since 3.6.2 </p>
<dl class="section return"><dt>Returns</dt><dd>the transaction identifier or null if no transaction exists</dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at
     http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<HR><address style="align: right;"><small>Apache Geode C++ Cache .NET API Documentation</small></address>
