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

1005 lines
43 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>ReplicationMutableConfig (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="ReplicationMutableConfig (Oracle - Berkeley DB Java Edition API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":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/ReplicationMutableConfig.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><a href="../../../../com/sleepycat/je/rep/ReplicationGroup.html" title="class in com.sleepycat.je.rep"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/sleepycat/je/rep/ReplicationNode.html" title="interface in com.sleepycat.je.rep"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/sleepycat/je/rep/ReplicationMutableConfig.html" target="_top">Frames</a></li>
<li><a href="ReplicationMutableConfig.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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</div>
<h2 title="Class ReplicationMutableConfig" class="title">Class ReplicationMutableConfig</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.sleepycat.je.rep.ReplicationMutableConfig</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable, java.lang.Cloneable</dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../com/sleepycat/je/rep/ReplicationConfig.html" title="class in com.sleepycat.je.rep">ReplicationConfig</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">ReplicationMutableConfig</span>
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable</pre>
<div class="block">Specifies the attributes that may be changed after a <a href="../../../../com/sleepycat/je/rep/ReplicatedEnvironment.html" title="class in com.sleepycat.je.rep"><code>ReplicatedEnvironment</code></a> has been created. <code>ReplicationMutableConfig</code> is
a parameter to <a href="../../../../com/sleepycat/je/Environment.html#setMutableConfig-com.sleepycat.je.EnvironmentMutableConfig-"><code>Environment.setMutableConfig(com.sleepycat.je.EnvironmentMutableConfig)</code></a> and is
returned by <a href="../../../../com/sleepycat/je/Environment.html#getMutableConfig--"><code>Environment.getMutableConfig()</code></a>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../serialized-form.html#com.sleepycat.je.rep.ReplicationMutableConfig">Serialized Form</a></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>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#ALLOW_ARBITER_ACK">ALLOW_ARBITER_ACK</a></span></code>
<div class="block">Boolean flag if set to true, an Arbiter may acknowledge a transaction if
a replication node is not available.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#DESIGNATED_PRIMARY">DESIGNATED_PRIMARY</a></span></code>
<div class="block">Identifies the Primary node in a two node group.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#ELECTABLE_GROUP_SIZE_OVERRIDE">ELECTABLE_GROUP_SIZE_OVERRIDE</a></span></code>
<div class="block">An escape mechanism to modify the way in which the number of electable
nodes, and consequently the quorum requirements for elections and commit
acknowledgments, is calculated.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#HELPER_HOSTS">HELPER_HOSTS</a></span></code>
<div class="block">The string identifying one or more helper host and port pairs in
this format:</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#LOG_FLUSH_TASK_INTERVAL">LOG_FLUSH_TASK_INTERVAL</a></span></code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">as of 7.2. Replaced by <a href="../../../../com/sleepycat/je/EnvironmentConfig.html#LOG_FLUSH_SYNC_INTERVAL"><code>EnvironmentConfig.LOG_FLUSH_SYNC_INTERVAL</code></a>. For compatibility with
earlier releases, if this parameter is specified its value will be used
as the flush sync interval; in this case, <a href="../../../../com/sleepycat/je/EnvironmentConfig.html#LOG_FLUSH_SYNC_INTERVAL"><code>EnvironmentConfig.LOG_FLUSH_SYNC_INTERVAL</code></a> may not also be specified.</span></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#NODE_PRIORITY">NODE_PRIORITY</a></span></code>
<div class="block">The election priority associated with this node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#REPLAY_DB_HANDLE_TIMEOUT">REPLAY_DB_HANDLE_TIMEOUT</a></span></code>
<div class="block">The maximum amount of time that an inactive database handle is kept open
during a replay of the replication stream.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#REPLAY_MAX_OPEN_DB_HANDLES">REPLAY_MAX_OPEN_DB_HANDLES</a></span></code>
<div class="block">The maximum number of <i>most recently used</i> database handles that
are kept open during the replay of the replication stream.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#RUN_LOG_FLUSH_TASK">RUN_LOG_FLUSH_TASK</a></span></code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">as of 7.2. Log flushing can be disabled by setting <a href="../../../../com/sleepycat/je/EnvironmentConfig.html#LOG_FLUSH_SYNC_INTERVAL"><code>EnvironmentConfig.LOG_FLUSH_SYNC_INTERVAL</code></a> and <a href="../../../../com/sleepycat/je/EnvironmentConfig.html#LOG_FLUSH_NO_SYNC_INTERVAL"><code>EnvironmentConfig.LOG_FLUSH_NO_SYNC_INTERVAL</code></a> to zero. For compatibility
with earlier releases, if this parameter is specified as false, no log
flushing will be performed; in this case, <a href="../../../../com/sleepycat/je/EnvironmentConfig.html#LOG_FLUSH_SYNC_INTERVAL"><code>EnvironmentConfig.LOG_FLUSH_SYNC_INTERVAL</code></a> and <a href="../../../../com/sleepycat/je/EnvironmentConfig.html#LOG_FLUSH_NO_SYNC_INTERVAL"><code>EnvironmentConfig.LOG_FLUSH_NO_SYNC_INTERVAL</code></a> may not also be specified.</span></div>
</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== 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/ReplicationMutableConfig.html#ReplicationMutableConfig--">ReplicationMutableConfig</a></span>()</code>
<div class="block">Create a ReplicationMutableConfig initialized with the system
default settings.</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>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#getConfigParam-java.lang.String-">getConfigParam</a></span>(java.lang.String&nbsp;paramName)</code>
<div class="block">Return the value for this parameter.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#getDesignatedPrimary--">getDesignatedPrimary</a></span>()</code>
<div class="block">Determines whether this node is the currently designated Primary.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#getElectableGroupSizeOverride--">getElectableGroupSizeOverride</a></span>()</code>
<div class="block">Returns the value associated with the override.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#getHelperHosts--">getHelperHosts</a></span>()</code>
<div class="block">Returns the string identifying one or more helper host and port pairs in
this format:</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#getNodePriority--">getNodePriority</a></span>()</code>
<div class="block">Returns the election priority associated with the node.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html" title="class in com.sleepycat.je.rep">ReplicationMutableConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#setConfigParam-java.lang.String-java.lang.String-">setConfigParam</a></span>(java.lang.String&nbsp;paramName,
java.lang.String&nbsp;value)</code>
<div class="block">Set this configuration parameter with this value.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html" title="class in com.sleepycat.je.rep">ReplicationMutableConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#setDesignatedPrimary-boolean-">setDesignatedPrimary</a></span>(boolean&nbsp;isPrimary)</code>
<div class="block">If <code>isPrimary</code> is true, designate this node as a Primary.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html" title="class in com.sleepycat.je.rep">ReplicationMutableConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#setElectableGroupSizeOverride-int-">setElectableGroupSizeOverride</a></span>(int&nbsp;override)</code>
<div class="block">Sets the size used to determine the number of electable nodes.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html" title="class in com.sleepycat.je.rep">ReplicationMutableConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#setHelperHosts-java.lang.String-">setHelperHosts</a></span>(java.lang.String&nbsp;hostsAndPorts)</code>
<div class="block">Identify one or more helpers nodes by their host and port pairs in this
format:</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html" title="class in com.sleepycat.je.rep">ReplicationMutableConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#setNodePriority-int-">setNodePriority</a></span>(int&nbsp;priority)</code>
<div class="block">Sets the election priority for the node.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#toString--">toString</a></span>()</code>
<div class="block">List the configuration parameters and values that have been set
in this configuration object.</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, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="ALLOW_ARBITER_ACK">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ALLOW_ARBITER_ACK</h4>
<pre>public static final&nbsp;java.lang.String ALLOW_ARBITER_ACK</pre>
<div class="block">Boolean flag if set to true, an Arbiter may acknowledge a transaction if
a replication node is not available.
<p><table border="1">
<tr><td>Name</td><td>Type</td><td>Mutable</td><td>Default</td></tr>
<tr>
<td>"je.rep.allowArbiterAck"</td>
<td>Boolean</td>
<td>Yes</td>
<td>True</td>
</tr>
</table></p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#com.sleepycat.je.rep.ReplicationMutableConfig.ALLOW_ARBITER_ACK">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DESIGNATED_PRIMARY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DESIGNATED_PRIMARY</h4>
<pre>public static final&nbsp;java.lang.String DESIGNATED_PRIMARY</pre>
<div class="block">Identifies the Primary node in a two node group. See the discussion of
issues when
<a href= "../../../../../ReplicationGuide/lifecycle.html#twonode">
configuring two node groups</a>
<p><table border="1">
<tr><td>Name</td><td>Type</td><td>Mutable</td><td>Default</td></tr>
<tr>
<td>"je.rep.designatedPrimary"</td>
<td>Boolean</td>
<td>Yes</td>
<td>False</td>
</tr>
</table></p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#com.sleepycat.je.rep.ReplicationMutableConfig.DESIGNATED_PRIMARY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ELECTABLE_GROUP_SIZE_OVERRIDE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ELECTABLE_GROUP_SIZE_OVERRIDE</h4>
<pre>public static final&nbsp;java.lang.String ELECTABLE_GROUP_SIZE_OVERRIDE</pre>
<div class="block">An escape mechanism to modify the way in which the number of electable
nodes, and consequently the quorum requirements for elections and commit
acknowledgments, is calculated. The override is accomplished by
specifying the quorum size via this mutable configuration parameter.
<p>
When this parameter is set to a non-zero value at a member node, the
member will use this value as the electable group size, instead of using
the metadata stored in the RepGroup database for its quorum
calculations. This parameter's value should be set to the number of
electable nodes known to be available. The default value is zero, which
indicates normal operation with the electable group size being
calculated from the metadata.
<p>
Please keep in mind that this is an escape mechanism, only for use in
exceptional circumstances, to be used with care. Since JE HA is no
longer maintaining quorum requirements automatically, there is the
possibility that the simple majority of unavailable nodes could elect
their own Master, which would result in a diverging set of changes to
the same environment being made by multiple Masters. It is essential to
ensure that the problematic nodes are in fact down before making this
temporary configuration change.
See the discussion in <a href=
"../../../../../ReplicationGuide/election-override.html">Appendix:
Managing a Failure of the Majority</a>.
<p>
<table border="1">
<tr>
<td>Name</td>
<td>Type</td>
<td>Mutable</td>
<td>Default</td>
</tr>
<tr>
<td>"je.rep.electableGroupSizeOverride"</td>
<td>Integer</td>
<td>Yes</td>
<td>0</td>
</tr>
</table>
</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../com/sleepycat/je/rep/QuorumPolicy.html" title="enum in com.sleepycat.je.rep"><code>QuorumPolicy</code></a>,
<a href="../../../../com/sleepycat/je/Durability.ReplicaAckPolicy.html" title="enum in com.sleepycat.je"><code>Durability.ReplicaAckPolicy</code></a>,
<a href="../../../../constant-values.html#com.sleepycat.je.rep.ReplicationMutableConfig.ELECTABLE_GROUP_SIZE_OVERRIDE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="NODE_PRIORITY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NODE_PRIORITY</h4>
<pre>public static final&nbsp;java.lang.String NODE_PRIORITY</pre>
<div class="block">The election priority associated with this node. The election algorithm
for choosing a new master will pick the participating node that has the
most current set of log files. When there is a tie, the election
priority is used as a tie-breaker to select amongst these nodes.
<p>
A priority of zero is used to ensure that this node is never elected
master, even if it has the most up to date log files. Note that the node
still votes for a Master and participates in quorum requirements. Please
use this option with care, since it means that some node with less
current log files could be elected master. As a result, this node would
be forced to rollback committed data and must be prepared to handle any
<a href="../../../../com/sleepycat/je/rep/RollbackException.html" title="class in com.sleepycat.je.rep"><code>RollbackException</code></a> exceptions that might be thrown.
<p>
<table border="1">
<tr>
<td>Name</td>
<td>Type</td>
<td>Mutable</td>
<td>Default</td>
<td>Minimum</td>
<td>Maximum</td>
</tr>
<tr>
<td>"je.rep.node.priority"</td>
<td>Integer</td>
<td>Yes</td>
<td>1</td>
<td>0</td>
<td>Integer.MAX_VALUE</td>
</tr>
</table>
</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../com/sleepycat/je/rep/RollbackException.html" title="class in com.sleepycat.je.rep"><code>RollbackException</code></a>,
<a href="../../../../constant-values.html#com.sleepycat.je.rep.ReplicationMutableConfig.NODE_PRIORITY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="RUN_LOG_FLUSH_TASK">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RUN_LOG_FLUSH_TASK</h4>
<pre>public static final&nbsp;java.lang.String RUN_LOG_FLUSH_TASK</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">as of 7.2. Log flushing can be disabled by setting <a href="../../../../com/sleepycat/je/EnvironmentConfig.html#LOG_FLUSH_SYNC_INTERVAL"><code>EnvironmentConfig.LOG_FLUSH_SYNC_INTERVAL</code></a> and <a href="../../../../com/sleepycat/je/EnvironmentConfig.html#LOG_FLUSH_NO_SYNC_INTERVAL"><code>EnvironmentConfig.LOG_FLUSH_NO_SYNC_INTERVAL</code></a> to zero. For compatibility
with earlier releases, if this parameter is specified as false, no log
flushing will be performed; in this case, <a href="../../../../com/sleepycat/je/EnvironmentConfig.html#LOG_FLUSH_SYNC_INTERVAL"><code>EnvironmentConfig.LOG_FLUSH_SYNC_INTERVAL</code></a> and <a href="../../../../com/sleepycat/je/EnvironmentConfig.html#LOG_FLUSH_NO_SYNC_INTERVAL"><code>EnvironmentConfig.LOG_FLUSH_NO_SYNC_INTERVAL</code></a> may not also be specified.</span></div>
<div class="block">If true, JE HA (replication) will flush all committed transactions to
disk at the specified time interval. This is of interest because the
default durability for replicated transactions of <a href="../../../../com/sleepycat/je/Durability.html#COMMIT_NO_SYNC"><code>Durability.COMMIT_NO_SYNC</code></a>. The default for this behavior is true.
<p>
When using <a href="../../../../com/sleepycat/je/Durability.html#COMMIT_NO_SYNC"><code>Durability.COMMIT_NO_SYNC</code></a>, continued activity will
naturally cause the steady flush of committed transactions, but a pause
in activity may cause the latest commits to stay in memory. In such a
case, it is unlikely but possible that all members of the replication
group have these last transactions in memory and that no members have
persisted them to disk. A catastrophic failure of all nodes in the
replication group would cause a loss of these transactions, in this
unlikely scenario. This background flush task will reduce such a
possibility.
<p>
Note that enabling this feature when using <a href="../../../../com/sleepycat/je/Durability.html#COMMIT_NO_SYNC"><code>Durability.COMMIT_NO_SYNC</code></a>, does not constitute a guarantee that
updates made by a transaction are persisted. For an explicit guarantee,
transactions should use <a href="../../../../com/sleepycat/je/Durability.html#COMMIT_SYNC"><code>Durability.COMMIT_SYNC</code></a> or <a href="../../../../com/sleepycat/je/Durability.html#COMMIT_WRITE_NO_SYNC"><code>Durability.COMMIT_WRITE_NO_SYNC</code></a>. These more stringent, persistent
Durability options can be set at the environment or per-transaction
scope. Using one of these Durability settings for a given transaction
will also flush all commits that occurred earlier in time.
<p>
<table border="1">
<tr>
<td>Name</td>
<td>Type</td>
<td>Mutable</td>
<td>Default</td>
</tr>
<tr>
<td>"je.rep.runLogFlushTask"</td>
<td>Boolean</td>
<td>No</td>
<td>true</td>
</tr>
</table>
</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#com.sleepycat.je.rep.ReplicationMutableConfig.RUN_LOG_FLUSH_TASK">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="LOG_FLUSH_TASK_INTERVAL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG_FLUSH_TASK_INTERVAL</h4>
<pre>public static final&nbsp;java.lang.String LOG_FLUSH_TASK_INTERVAL</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">as of 7.2. Replaced by <a href="../../../../com/sleepycat/je/EnvironmentConfig.html#LOG_FLUSH_SYNC_INTERVAL"><code>EnvironmentConfig.LOG_FLUSH_SYNC_INTERVAL</code></a>. For compatibility with
earlier releases, if this parameter is specified its value will be used
as the flush sync interval; in this case, <a href="../../../../com/sleepycat/je/EnvironmentConfig.html#LOG_FLUSH_SYNC_INTERVAL"><code>EnvironmentConfig.LOG_FLUSH_SYNC_INTERVAL</code></a> may not also be specified.</span></div>
<div class="block">The interval that JE HA will do a log buffer flush.
<p>
<table border="1">
<tr>
<td>Name</td>
<td>Type</td>
<td>Mutable</td>
<td>Default</td>
<td>Minimum</td>
<td>Maximum</td>
</tr>
<tr>
<td>"je.rep.logFlushTaskInterval"</td>
<td>
<a href="../EnvironmentConfig.html#timeDuration">Duration</a>
</td>
<td>Yes</td>
<td>5 min</td>
<td>1 s</td>
<td>-none-</td>
</tr>
</table>
</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../EnvironmentConfig.html#timeDuration">Time Duration
Properties</a>,
<a href="../../../../constant-values.html#com.sleepycat.je.rep.ReplicationMutableConfig.LOG_FLUSH_TASK_INTERVAL">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="REPLAY_MAX_OPEN_DB_HANDLES">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>REPLAY_MAX_OPEN_DB_HANDLES</h4>
<pre>public static final&nbsp;java.lang.String REPLAY_MAX_OPEN_DB_HANDLES</pre>
<div class="block">The maximum number of <i>most recently used</i> database handles that
are kept open during the replay of the replication stream.
<p><table border="1">
<tr><td>Name</td><td>Type</td><td>Mutable</td>
<td>Default</td><td>Minimum</td><td>Maximum</td></tr>
<tr>
<td>"je.rep.replayMaxOpenDbHandles"</td>
<td>Int</td>
<td>Yes</td>
<td>10</td>
<td>1</td>
<td>-none-</td>
</tr>
</table></p></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>5.0.38</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#com.sleepycat.je.rep.ReplicationMutableConfig.REPLAY_MAX_OPEN_DB_HANDLES">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="HELPER_HOSTS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HELPER_HOSTS</h4>
<pre>public static final&nbsp;java.lang.String HELPER_HOSTS</pre>
<div class="block">The string identifying one or more helper host and port pairs in
this format:
<pre>
hostname[:port][,hostname[:port]]*
</pre>
<p><table border="1">
<tr><td>Name</td><td>Type</td><td>Mutable</td><td>Default</td></tr>
<tr>
<td>"je.rep.helperHosts"</td>
<td>String</td>
<td>Yes</td>
<td>""</td>
</tr>
</table></p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#setHelperHosts-java.lang.String-"><code>setHelperHosts(java.lang.String)</code></a>,
<a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#getHelperHosts--"><code>getHelperHosts()</code></a>,
<a href="../../../../constant-values.html#com.sleepycat.je.rep.ReplicationMutableConfig.HELPER_HOSTS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="REPLAY_DB_HANDLE_TIMEOUT">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>REPLAY_DB_HANDLE_TIMEOUT</h4>
<pre>public static final&nbsp;java.lang.String REPLAY_DB_HANDLE_TIMEOUT</pre>
<div class="block">The maximum amount of time that an inactive database handle is kept open
during a replay of the replication stream. Handles that are inactive for
more than this time period are automatically closed. Note that this does
not impact any handles that may have been opened by the application.
<p><table border="1">
<tr><td>Name</td><td>Type</td><td>Mutable</td>
<td>Default</td><td>Minimum</td><td>Maximum</td></tr>
<tr>
<td>"je.rep.replayOpenHandleTimeout"</td>
<td><a href="#timeDuration">Duration</a></td>
<td>No</td>
<td>30 sec</td>
<td>1 sec</td>
<td>-none-</td>
</tr>
</table></p></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>5.0.38</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../EnvironmentConfig.html#timeDuration">Time Duration
Properties</a>,
<a href="../../../../constant-values.html#com.sleepycat.je.rep.ReplicationMutableConfig.REPLAY_DB_HANDLE_TIMEOUT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="ReplicationMutableConfig--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ReplicationMutableConfig</h4>
<pre>public&nbsp;ReplicationMutableConfig()</pre>
<div class="block">Create a ReplicationMutableConfig initialized with the system
default settings. Parameter defaults are documented with the string
constants in this class.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="setDesignatedPrimary-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDesignatedPrimary</h4>
<pre>public&nbsp;<a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html" title="class in com.sleepycat.je.rep">ReplicationMutableConfig</a>&nbsp;setDesignatedPrimary(boolean&nbsp;isPrimary)</pre>
<div class="block">If <code>isPrimary</code> is true, designate this node as a Primary. This
setting only takes effect for electable nodes. The application must
ensure that exactly one electable node is designated to be a Primary at
any given time. Primary node configuration is only a concern when the
group has two electable nodes, and there cannot be a simple
majority. See the overview on <a href=
"../../../../../ReplicationGuide/lifecycle.html#twonode">configuring two
node groups</a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>isPrimary</code> - true if this node is to be made the Primary</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this</dd>
</dl>
</li>
</ul>
<a name="getDesignatedPrimary--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDesignatedPrimary</h4>
<pre>public&nbsp;boolean&nbsp;getDesignatedPrimary()</pre>
<div class="block">Determines whether this node is the currently designated Primary. See
the overview on <a href=
"../../../../../ReplicationGuide/lifecycle.html#twonode"> issues around
two node groups</a></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this node is a Primary, false otherwise.</dd>
</dl>
</li>
</ul>
<a name="getElectableGroupSizeOverride--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getElectableGroupSizeOverride</h4>
<pre>public&nbsp;int&nbsp;getElectableGroupSizeOverride()</pre>
<div class="block">Returns the value associated with the override. A value of zero means
that the number of electable nodes is determined as usual, that is, from
the contents of the group metadata.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of electable nodes as specified by the override</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#ELECTABLE_GROUP_SIZE_OVERRIDE"><code>ELECTABLE_GROUP_SIZE_OVERRIDE</code></a></dd>
</dl>
</li>
</ul>
<a name="setElectableGroupSizeOverride-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setElectableGroupSizeOverride</h4>
<pre>public&nbsp;<a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html" title="class in com.sleepycat.je.rep">ReplicationMutableConfig</a>&nbsp;setElectableGroupSizeOverride(int&nbsp;override)</pre>
<div class="block">Sets the size used to determine the number of electable nodes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>override</code> - the number of electable nodes. A value of zero means
that the number of electable nodes is determined as usual, that is, from
the contents of the group metadata.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#ELECTABLE_GROUP_SIZE_OVERRIDE"><code>ELECTABLE_GROUP_SIZE_OVERRIDE</code></a></dd>
</dl>
</li>
</ul>
<a name="getNodePriority--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNodePriority</h4>
<pre>public&nbsp;int&nbsp;getNodePriority()</pre>
<div class="block">Returns the election priority associated with the node.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the priority for this node</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#NODE_PRIORITY"><code>NODE_PRIORITY</code></a></dd>
</dl>
</li>
</ul>
<a name="setNodePriority-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNodePriority</h4>
<pre>public&nbsp;<a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html" title="class in com.sleepycat.je.rep">ReplicationMutableConfig</a>&nbsp;setNodePriority(int&nbsp;priority)</pre>
<div class="block">Sets the election priority for the node. The algorithm for choosing a
new master will pick the participating node that has the most current
set of log files. When there is a tie, the priority is used as a
tie-breaker to select amongst these nodes.
<p>
A priority of zero is used to ensure that a node is never elected
master, even if it has the most current set of files. Please use this
option with caution, since it means that a node with less current log
files could be elected master potentially forcing this node to rollback
data that had been committed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>priority</code> - the priority to be associated with the node. It must be
zero, or a positive number.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#NODE_PRIORITY"><code>NODE_PRIORITY</code></a></dd>
</dl>
</li>
</ul>
<a name="getHelperHosts--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHelperHosts</h4>
<pre>public&nbsp;java.lang.String&nbsp;getHelperHosts()</pre>
<div class="block">Returns the string identifying one or more helper host and port pairs in
this format:
<pre>
hostname[:port][,hostname[:port]]*
</pre>
The port name may be omitted if it's the default port.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the string representing the host port pairs</dd>
</dl>
</li>
</ul>
<a name="setHelperHosts-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setHelperHosts</h4>
<pre>public&nbsp;<a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html" title="class in com.sleepycat.je.rep">ReplicationMutableConfig</a>&nbsp;setHelperHosts(java.lang.String&nbsp;hostsAndPorts)</pre>
<div class="block">Identify one or more helpers nodes by their host and port pairs in this
format:
<pre>
hostname[:port][,hostname[:port]]*
</pre>
If the port is omitted, the default port defined by XXX is used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>hostsAndPorts</code> - the string representing the host and port pairs.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this</dd>
</dl>
</li>
</ul>
<a name="setConfigParam-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConfigParam</h4>
<pre>public&nbsp;<a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html" title="class in com.sleepycat.je.rep">ReplicationMutableConfig</a>&nbsp;setConfigParam(java.lang.String&nbsp;paramName,
java.lang.String&nbsp;value)
throws java.lang.IllegalArgumentException</pre>
<div class="block">Set this configuration parameter with this value. Values are validated
before setting the parameter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>paramName</code> - the configuration parameter name, one of the String
constants in this class</dd>
<dd><code>value</code> - the configuration value.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this;</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the paramName or value is invalid.</dd>
</dl>
</li>
</ul>
<a name="getConfigParam-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConfigParam</h4>
<pre>public&nbsp;java.lang.String&nbsp;getConfigParam(java.lang.String&nbsp;paramName)
throws java.lang.IllegalArgumentException</pre>
<div class="block">Return the value for this parameter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>paramName</code> - a valid configuration parameter, one of the String
constants in this class.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the configuration value.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the paramName is invalid.</dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
<div class="block">List the configuration parameters and values that have been set
in this configuration object.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</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/ReplicationMutableConfig.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><a href="../../../../com/sleepycat/je/rep/ReplicationGroup.html" title="class in com.sleepycat.je.rep"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/sleepycat/je/rep/ReplicationNode.html" title="interface in com.sleepycat.je.rep"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/sleepycat/je/rep/ReplicationMutableConfig.html" target="_top">Frames</a></li>
<li><a href="ReplicationMutableConfig.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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>