blob: d08276114dc2122a21ae9a4e7b69b67484ba297c [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>
<!-- Generated by javadoc -->
<title>TransactionListener (Apache Geode 1.15.1)</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="TransactionListener (Apache Geode 1.15.1)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":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="../../../../org/apache/geode/cache/TransactionInDoubtException.html" title="class in org.apache.geode.cache"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/geode/cache/TransactionWriter.html" title="interface in org.apache.geode.cache"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/geode/cache/TransactionListener.html" target="_top">Frames</a></li>
<li><a href="TransactionListener.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">org.apache.geode.cache</div>
<h2 title="Interface TransactionListener" class="title">Interface TransactionListener</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../org/apache/geode/cache/CacheCallback.html" title="interface in org.apache.geode.cache">CacheCallback</a>, <a href="../../../../org/apache/geode/cache/Declarable.html" title="interface in org.apache.geode.cache">Declarable</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../org/apache/geode/cache/util/TransactionListenerAdapter.html" title="class in org.apache.geode.cache.util">TransactionListenerAdapter</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">TransactionListener</span>
extends <a href="../../../../org/apache/geode/cache/CacheCallback.html" title="interface in org.apache.geode.cache">CacheCallback</a></pre>
<div class="block"><p>
A listener that can be implemented to handle transaction related events. The methods on
<code>TransactionListener</code> are invoked synchronously after the operation, commit or
rollback, completes. The transaction that causes the listener to be called will no longer exist
at the time the listener code executes. The thread that performed the transaction operation will
not see that operation complete until the listener method completes its execution.
<p>
Multiple transactions, on the same cache, can cause concurrent invocation of
<code>TransactionListener</code> methods. Any exceptions thrown by the listener are caught and
logged.
<p>
Rollback and failed commit operations are local.
<p>
WARNING: To avoid risk of deadlock, do not invoke CacheFactory.getAnyInstance() from within any
callback methods. Instead use TransactionEvent.getCache().</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>GemFire 4.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/geode/cache/CacheTransactionManager.html#setListener-org.apache.geode.cache.TransactionListener-"><code>CacheTransactionManager.setListener(org.apache.geode.cache.TransactionListener)</code></a>,
<a href="../../../../org/apache/geode/cache/CacheTransactionManager.html#getListener--"><code>CacheTransactionManager.getListener()</code></a></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>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="../../../../org/apache/geode/cache/TransactionListener.html#afterCommit-org.apache.geode.cache.TransactionEvent-">afterCommit</a></span>(<a href="../../../../org/apache/geode/cache/TransactionEvent.html" title="interface in org.apache.geode.cache">TransactionEvent</a>&nbsp;event)</code>
<div class="block">Called after a successful commit of a transaction.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/geode/cache/TransactionListener.html#afterFailedCommit-org.apache.geode.cache.TransactionEvent-">afterFailedCommit</a></span>(<a href="../../../../org/apache/geode/cache/TransactionEvent.html" title="interface in org.apache.geode.cache">TransactionEvent</a>&nbsp;event)</code>
<div class="block">Called after an unsuccessful commit operation.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/geode/cache/TransactionListener.html#afterRollback-org.apache.geode.cache.TransactionEvent-">afterRollback</a></span>(<a href="../../../../org/apache/geode/cache/TransactionEvent.html" title="interface in org.apache.geode.cache">TransactionEvent</a>&nbsp;event)</code>
<div class="block">Called after an explicit rollback of a transaction.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.geode.cache.CacheCallback">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.geode.cache.<a href="../../../../org/apache/geode/cache/CacheCallback.html" title="interface in org.apache.geode.cache">CacheCallback</a></h3>
<code><a href="../../../../org/apache/geode/cache/CacheCallback.html#close--">close</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.geode.cache.Declarable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.geode.cache.<a href="../../../../org/apache/geode/cache/Declarable.html" title="interface in org.apache.geode.cache">Declarable</a></h3>
<code><a href="../../../../org/apache/geode/cache/Declarable.html#init-java.util.Properties-">init</a>, <a href="../../../../org/apache/geode/cache/Declarable.html#initialize-org.apache.geode.cache.Cache-java.util.Properties-">initialize</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="afterCommit-org.apache.geode.cache.TransactionEvent-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>afterCommit</h4>
<pre>void&nbsp;afterCommit(<a href="../../../../org/apache/geode/cache/TransactionEvent.html" title="interface in org.apache.geode.cache">TransactionEvent</a>&nbsp;event)</pre>
<div class="block">Called after a successful commit of a transaction.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>event</code> - the TransactionEvent</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/geode/cache/CacheTransactionManager.html#commit--"><code>CacheTransactionManager.commit()</code></a></dd>
</dl>
</li>
</ul>
<a name="afterFailedCommit-org.apache.geode.cache.TransactionEvent-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>afterFailedCommit</h4>
<pre>void&nbsp;afterFailedCommit(<a href="../../../../org/apache/geode/cache/TransactionEvent.html" title="interface in org.apache.geode.cache">TransactionEvent</a>&nbsp;event)</pre>
<div class="block">Called after an unsuccessful commit operation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>event</code> - the TransactionEvent</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/geode/cache/CacheTransactionManager.html#commit--"><code>CacheTransactionManager.commit()</code></a></dd>
</dl>
</li>
</ul>
<a name="afterRollback-org.apache.geode.cache.TransactionEvent-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>afterRollback</h4>
<pre>void&nbsp;afterRollback(<a href="../../../../org/apache/geode/cache/TransactionEvent.html" title="interface in org.apache.geode.cache">TransactionEvent</a>&nbsp;event)</pre>
<div class="block">Called after an explicit rollback of a transaction.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>event</code> - the TransactionEvent</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/geode/cache/CacheTransactionManager.html#rollback--"><code>CacheTransactionManager.rollback()</code></a>,
<a href="../../../../org/apache/geode/cache/CacheTransactionManager.html#commit--"><code>CacheTransactionManager.commit()</code></a></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="../../../../org/apache/geode/cache/TransactionInDoubtException.html" title="class in org.apache.geode.cache"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/geode/cache/TransactionWriter.html" title="interface in org.apache.geode.cache"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/geode/cache/TransactionListener.html" target="_top">Frames</a></li>
<li><a href="TransactionListener.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>