stasis/je-7.5.11/docs/java/com/sleepycat/je/rep/arbiter/Arbiter.html
2019-06-25 16:12:40 -04:00

406 lines
17 KiB
HTML

<!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 (1.8.0_151) on Tue Oct 31 17:36:46 EDT 2017 -->
<title>Arbiter (Oracle - Berkeley DB Java Edition API)</title>
<meta name="date" content="2017-10-31">
<link rel="stylesheet" type="text/css" href="../../../../../style.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="Arbiter (Oracle - Berkeley DB Java Edition API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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="class-use/Arbiter.html">Use</a></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 class="aboutLanguage"><b>Berkeley DB Java Edition</b><br><font size=\"-1\"> version 7.5.11</font>
</div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../com/sleepycat/je/rep/arbiter/ArbiterConfig.html" title="class in com.sleepycat.je.rep.arbiter"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/sleepycat/je/rep/arbiter/Arbiter.html" target="_top">Frames</a></li>
<li><a href="Arbiter.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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">com.sleepycat.je.rep.arbiter</div>
<h2 title="Class Arbiter" class="title">Class Arbiter</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.sleepycat.je.rep.arbiter.Arbiter</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">Arbiter</span>
extends java.lang.Object</pre>
<div class="block">Provides a mechanism to allow write availability for the Replication
group even when the number of replication nodes is less than majority.
The main use of an Arbiter is when the replication group consists of
two nodes. The addition of an Arbiter to the replication group
allows for one node to fail and provide write availability with ACK
durability of SIMPLE_MAJORITY. The Arbiter acknowledges the transaction,
but does not retain a copy of the data. The Arbiter persists a
small amount of state to insure that only the Replication nodes that
contain the Arbiter acknowledged transactions may become a Master.
<p>
The Arbiter node participates in elections and may acknowledge transaction
commits.
<p>
The Arbiter state is as follows:
UNKNOWN [ UNKNOWN | REPLICA]+ DETACHED</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../com/sleepycat/je/rep/arbiter/Arbiter.html#Arbiter-com.sleepycat.je.rep.arbiter.ArbiterConfig-">Arbiter</a></span>(<a href="../../../../../com/sleepycat/je/rep/arbiter/ArbiterConfig.html" title="class in com.sleepycat.je.rep.arbiter">ArbiterConfig</a>&nbsp;arbiterConfig)</code>
<div class="block">An Arbiter used in elections and transaction acknowledgments.</div>
</td>
</tr>
</table>
</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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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><a href="../../../../../com/sleepycat/je/rep/arbiter/ArbiterMutableConfig.html" title="class in com.sleepycat.je.rep.arbiter">ArbiterMutableConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/sleepycat/je/rep/arbiter/Arbiter.html#getArbiterMutableConfig--">getArbiterMutableConfig</a></span>()</code>
<div class="block">Returns the Arbiter mutable attributes.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../com/sleepycat/je/rep/ReplicatedEnvironment.State.html" title="enum in com.sleepycat.je.rep">ReplicatedEnvironment.State</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/sleepycat/je/rep/arbiter/Arbiter.html#getState--">getState</a></span>()</code>
<div class="block">Gets the Arbiter state.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../com/sleepycat/je/rep/arbiter/ArbiterStats.html" title="class in com.sleepycat.je.rep.arbiter">ArbiterStats</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/sleepycat/je/rep/arbiter/Arbiter.html#getStats-com.sleepycat.je.StatsConfig-">getStats</a></span>(<a href="../../../../../com/sleepycat/je/StatsConfig.html" title="class in com.sleepycat.je">StatsConfig</a>&nbsp;config)</code>
<div class="block">Gets the Arbiter statistics.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/sleepycat/je/rep/arbiter/Arbiter.html#setArbiterMutableConfig-com.sleepycat.je.rep.arbiter.ArbiterMutableConfig-">setArbiterMutableConfig</a></span>(<a href="../../../../../com/sleepycat/je/rep/arbiter/ArbiterMutableConfig.html" title="class in com.sleepycat.je.rep.arbiter">ArbiterMutableConfig</a>&nbsp;config)</code>
<div class="block">Sets the Arbiter mutable attributes.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/sleepycat/je/rep/arbiter/Arbiter.html#shutdown--">shutdown</a></span>()</code>
<div class="block">Shutdown the Arbiter.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="Arbiter-com.sleepycat.je.rep.arbiter.ArbiterConfig-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Arbiter</h4>
<pre>public&nbsp;Arbiter(<a href="../../../../../com/sleepycat/je/rep/arbiter/ArbiterConfig.html" title="class in com.sleepycat.je.rep.arbiter">ArbiterConfig</a>&nbsp;arbiterConfig)
throws <a href="../../../../../com/sleepycat/je/EnvironmentNotFoundException.html" title="class in com.sleepycat.je">EnvironmentNotFoundException</a>,
<a href="../../../../../com/sleepycat/je/EnvironmentLockedException.html" title="class in com.sleepycat.je">EnvironmentLockedException</a>,
<a href="../../../../../com/sleepycat/je/DatabaseException.html" title="class in com.sleepycat.je">DatabaseException</a>,
java.lang.IllegalArgumentException</pre>
<div class="block">An Arbiter used in elections and transaction acknowledgments.
This method returns when a connection to the current master
replication node is made. The Arbiter.shutdown() method is
used to shutdown the threads that run as part of the Arbiter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>arbiterConfig</code> - Configuration parameters for the Arbiter.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../com/sleepycat/je/EnvironmentNotFoundException.html" title="class in com.sleepycat.je">EnvironmentNotFoundException</a></code> - if the environment does not exist</dd>
<dd><code><a href="../../../../../com/sleepycat/je/EnvironmentLockedException.html" title="class in com.sleepycat.je">EnvironmentLockedException</a></code> - when an environment cannot be opened
because another Arbiter has the environment open.</dd>
<dd><code><a href="../../../../../com/sleepycat/je/DatabaseException.html" title="class in com.sleepycat.je">DatabaseException</a></code> - problem establishing connection to the master.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - if an invalid parameter is specified,
for example, an invalid <code>ArbiterConfig</code> parameter.</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getArbiterMutableConfig--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getArbiterMutableConfig</h4>
<pre>public&nbsp;<a href="../../../../../com/sleepycat/je/rep/arbiter/ArbiterMutableConfig.html" title="class in com.sleepycat.je.rep.arbiter">ArbiterMutableConfig</a>&nbsp;getArbiterMutableConfig()</pre>
<div class="block">Returns the Arbiter mutable attributes.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Arbiter attributes.</dd>
</dl>
</li>
</ul>
<a name="setArbiterMutableConfig-com.sleepycat.je.rep.arbiter.ArbiterMutableConfig-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setArbiterMutableConfig</h4>
<pre>public&nbsp;void&nbsp;setArbiterMutableConfig(<a href="../../../../../com/sleepycat/je/rep/arbiter/ArbiterMutableConfig.html" title="class in com.sleepycat.je.rep.arbiter">ArbiterMutableConfig</a>&nbsp;config)
throws <a href="../../../../../com/sleepycat/je/DatabaseException.html" title="class in com.sleepycat.je">DatabaseException</a></pre>
<div class="block">Sets the Arbiter mutable attributes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>config</code> - Arbiter attributes.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../com/sleepycat/je/DatabaseException.html" title="class in com.sleepycat.je">DatabaseException</a></code></dd>
</dl>
</li>
</ul>
<a name="getState--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getState</h4>
<pre>public&nbsp;<a href="../../../../../com/sleepycat/je/rep/ReplicatedEnvironment.State.html" title="enum in com.sleepycat.je.rep">ReplicatedEnvironment.State</a>&nbsp;getState()</pre>
<div class="block">Gets the Arbiter state.</div>
</li>
</ul>
<a name="getStats-com.sleepycat.je.StatsConfig-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStats</h4>
<pre>public&nbsp;<a href="../../../../../com/sleepycat/je/rep/arbiter/ArbiterStats.html" title="class in com.sleepycat.je.rep.arbiter">ArbiterStats</a>&nbsp;getStats(<a href="../../../../../com/sleepycat/je/StatsConfig.html" title="class in com.sleepycat.je">StatsConfig</a>&nbsp;config)
throws <a href="../../../../../com/sleepycat/je/DatabaseException.html" title="class in com.sleepycat.je">DatabaseException</a></pre>
<div class="block">Gets the Arbiter statistics.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>config</code> - The general statistics attributes. If null, default
attributes are used.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Arbiter statistics.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../com/sleepycat/je/DatabaseException.html" title="class in com.sleepycat.je">DatabaseException</a></code></dd>
</dl>
</li>
</ul>
<a name="shutdown--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>shutdown</h4>
<pre>public&nbsp;void&nbsp;shutdown()
throws <a href="../../../../../com/sleepycat/je/DatabaseException.html" title="class in com.sleepycat.je">DatabaseException</a></pre>
<div class="block">Shutdown the Arbiter.
Threads are stopped and resources are released.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../com/sleepycat/je/DatabaseException.html" title="class in com.sleepycat.je">DatabaseException</a></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="class-use/Arbiter.html">Use</a></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 class="aboutLanguage"><b>Berkeley DB Java Edition</b><br><font size=\"-1\"> version 7.5.11</font>
</div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../com/sleepycat/je/rep/arbiter/ArbiterConfig.html" title="class in com.sleepycat.je.rep.arbiter"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/sleepycat/je/rep/arbiter/Arbiter.html" target="_top">Frames</a></li>
<li><a href="Arbiter.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><font size=1>Copyright (c) 2002, 2017 Oracle and/or its affiliates. All rights reserved.</font> </small></p>
</body>
</html>