blob: 9897b35d03be4381a298e1ad8bb9db13e6f6e729 [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 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LoadDistributorTargetSelector (Apache CXF JavaDoc 3.2.0 API)</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="LoadDistributorTargetSelector (Apache CXF JavaDoc 3.2.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":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/LoadDistributorTargetSelector.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">Apache CXF API</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/cxf/clustering/LoadDistributorFeature.html" title="class in org.apache.cxf.clustering"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/cxf/clustering/RandomStrategy.html" title="class in org.apache.cxf.clustering"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/cxf/clustering/LoadDistributorTargetSelector.html" target="_top">Frames</a></li>
<li><a href="LoadDistributorTargetSelector.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><a href="#nested.classes.inherited.from.class.org.apache.cxf.clustering.FailoverTargetSelector">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.cxf.clustering.FailoverTargetSelector">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>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">org.apache.cxf.clustering</div>
<h2 title="Class LoadDistributorTargetSelector" class="title">Class LoadDistributorTargetSelector</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/apache/cxf/endpoint/AbstractConduitSelector.html" title="class in org.apache.cxf.endpoint">org.apache.cxf.endpoint.AbstractConduitSelector</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html" title="class in org.apache.cxf.clustering">org.apache.cxf.clustering.FailoverTargetSelector</a></li>
<li>
<ul class="inheritance">
<li>org.apache.cxf.clustering.LoadDistributorTargetSelector</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../org/apache/cxf/endpoint/ConduitSelector.html" title="interface in org.apache.cxf.endpoint">ConduitSelector</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">LoadDistributorTargetSelector</span>
extends <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html" title="class in org.apache.cxf.clustering">FailoverTargetSelector</a></pre>
<div class="block">The LoadDistributorTargetSelector attempts to do the same job as the
FailoverTargetSelector, but to choose an alternate target on every request
rather than just when a fault occurs.
The LoadDistributorTargetSelector uses the same FailoverStrategy interface as
the FailoverTargetSelector, but has a few significant limitations:
1. Because the LoadDistributorTargetSelector needs to maintain a list of targets
between calls it has to obtain that list without reference to a Message.
Most FailoverStrategy classes can support this for addresses, but it cannot
be supported for endpoints.
If the list of targets cannot be obtained without reference to a Message then
the list will still be obtained but it will be specific to the Message and thus
discarded after this message has been processed. As a consequence, if the
strategy chosen is a simple sequential one the first item in the list will
be chosen every time.
Conclusion: Be aware that if you are working with targets that are
dependent on the Message the process will be less efficient and that the
SequentialStrategy will not distribute the load at all.
2. The AbstractStaticFailoverStrategy base class excludes the 'default' endpoint
from the list of alternate endpoints.
If alternate endpoints (as opposed to alternate addresses) are to be used
you should probably ensure that your FailoverStrategy overrides getAlternateEndpoints
and calls getEndpoints with acceptCandidatesWithSameAddress = true.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.cxf.clustering.FailoverTargetSelector">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.cxf.clustering.<a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html" title="class in org.apache.cxf.clustering">FailoverTargetSelector</a></h3>
<code><a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.InvocationContext.html" title="class in org.apache.cxf.clustering">FailoverTargetSelector.InvocationContext</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.InvocationKey.html" title="class in org.apache.cxf.clustering">FailoverTargetSelector.InvocationKey</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.cxf.clustering.FailoverTargetSelector">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.cxf.clustering.<a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html" title="class in org.apache.cxf.clustering">FailoverTargetSelector</a></h3>
<code><a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#failoverStrategy">failoverStrategy</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#inProgress">inProgress</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.cxf.endpoint.AbstractConduitSelector">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.cxf.endpoint.<a href="../../../../org/apache/cxf/endpoint/AbstractConduitSelector.html" title="class in org.apache.cxf.endpoint">AbstractConduitSelector</a></h3>
<code><a href="../../../../org/apache/cxf/endpoint/AbstractConduitSelector.html#CONDUIT_COMPARE_FULL_URL">CONDUIT_COMPARE_FULL_URL</a>, <a href="../../../../org/apache/cxf/endpoint/AbstractConduitSelector.html#conduits">conduits</a>, <a href="../../../../org/apache/cxf/endpoint/AbstractConduitSelector.html#endpoint">endpoint</a>, <a href="../../../../org/apache/cxf/endpoint/AbstractConduitSelector.html#KEEP_CONDUIT_ALIVE">KEEP_CONDUIT_ALIVE</a></code></li>
</ul>
</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="../../../../org/apache/cxf/clustering/LoadDistributorTargetSelector.html#LoadDistributorTargetSelector--">LoadDistributorTargetSelector</a></span>()</code>
<div class="block">Normal constructor.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/cxf/clustering/LoadDistributorTargetSelector.html#LoadDistributorTargetSelector-org.apache.cxf.transport.Conduit-">LoadDistributorTargetSelector</a></span>(<a href="../../../../org/apache/cxf/transport/Conduit.html" title="interface in org.apache.cxf.transport">Conduit</a>&nbsp;c)</code>
<div class="block">Constructor, allowing a specific conduit to override normal selection.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/cxf/clustering/LoadDistributorTargetSelector.html#LoadDistributorTargetSelector-java.lang.String-">LoadDistributorTargetSelector</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientBootstrapAddress)</code>&nbsp;</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>protected <a href="../../../../org/apache/cxf/endpoint/Endpoint.html" title="interface in org.apache.cxf.endpoint">Endpoint</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cxf/clustering/LoadDistributorTargetSelector.html#getFailoverTarget-org.apache.cxf.message.Exchange-org.apache.cxf.clustering.FailoverTargetSelector.InvocationContext-">getFailoverTarget</a></span>(<a href="../../../../org/apache/cxf/message/Exchange.html" title="interface in org.apache.cxf.message">Exchange</a>&nbsp;exchange,
<a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.InvocationContext.html" title="class in org.apache.cxf.clustering">FailoverTargetSelector.InvocationContext</a>&nbsp;invocation)</code>
<div class="block">Get the failover target endpoint, if a suitable one is available.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/util/logging/Logger.html?is-external=true" title="class or interface in java.util.logging">Logger</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cxf/clustering/LoadDistributorTargetSelector.html#getLogger--">getLogger</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cxf/clustering/LoadDistributorTargetSelector.html#isFailover--">isFailover</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cxf/clustering/LoadDistributorTargetSelector.html#requiresFailover-org.apache.cxf.message.Exchange-java.lang.Exception-">requiresFailover</a></span>(<a href="../../../../org/apache/cxf/message/Exchange.html" title="interface in org.apache.cxf.message">Exchange</a>&nbsp;exchange,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;ex)</code>
<div class="block">Check if the exchange is suitable for a failover.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/cxf/transport/Conduit.html" title="interface in org.apache.cxf.transport">Conduit</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cxf/clustering/LoadDistributorTargetSelector.html#selectConduit-org.apache.cxf.message.Message-">selectConduit</a></span>(<a href="../../../../org/apache/cxf/message/Message.html" title="interface in org.apache.cxf.message">Message</a>&nbsp;message)</code>
<div class="block">Called when a Conduit is actually required.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cxf/clustering/LoadDistributorTargetSelector.html#setFailover-boolean-">setFailover</a></span>(boolean&nbsp;failover)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.cxf.clustering.FailoverTargetSelector">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.cxf.clustering.<a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html" title="class in org.apache.cxf.clustering">FailoverTargetSelector</a></h3>
<code><a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#complete-org.apache.cxf.message.Exchange-">complete</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#doComplete-org.apache.cxf.message.Exchange-">doComplete</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#getClientBootstrapAddress--">getClientBootstrapAddress</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#getDelayBetweenRetries--">getDelayBetweenRetries</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#getInvocationContext-org.apache.cxf.clustering.FailoverTargetSelector.InvocationKey-">getInvocationContext</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#getInvocationKey-org.apache.cxf.message.Exchange-">getInvocationKey</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#getStrategy--">getStrategy</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#isSupportNotAvailableErrorsOnly--">isSupportNotAvailableErrorsOnly</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#onFailure-org.apache.cxf.clustering.FailoverTargetSelector.InvocationContext-java.lang.Exception-">onFailure</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#onSuccess-org.apache.cxf.clustering.FailoverTargetSelector.InvocationContext-">onSuccess</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#overrideAddressProperty-java.util.Map-">overrideAddressProperty</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#overrideAddressProperty-java.util.Map-java.lang.String-">overrideAddressProperty</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#performFailover-org.apache.cxf.message.Exchange-org.apache.cxf.clustering.FailoverTargetSelector.InvocationContext-">performFailover</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#prepare-org.apache.cxf.message.Message-">prepare</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#replaceEndpointAddressPropertyIfNeeded-org.apache.cxf.message.Message-java.lang.String-org.apache.cxf.transport.Conduit-">replaceEndpointAddressPropertyIfNeeded</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#setClientBootstrapAddress-java.lang.String-">setClientBootstrapAddress</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#setOriginalEndpoint-org.apache.cxf.clustering.FailoverTargetSelector.InvocationContext-">setOriginalEndpoint</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#setStrategy-org.apache.cxf.clustering.FailoverStrategy-">setStrategy</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#setSupportNotAvailableErrorsOnly-boolean-">setSupportNotAvailableErrorsOnly</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#setupExchangeExceptionProperties-org.apache.cxf.message.Exchange-">setupExchangeExceptionProperties</a>, <a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#updateContextAlternatives-org.apache.cxf.message.Exchange-org.apache.cxf.clustering.FailoverTargetSelector.InvocationContext-">updateContextAlternatives</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.cxf.endpoint.AbstractConduitSelector">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.cxf.endpoint.<a href="../../../../org/apache/cxf/endpoint/AbstractConduitSelector.html" title="class in org.apache.cxf.endpoint">AbstractConduitSelector</a></h3>
<code><a href="../../../../org/apache/cxf/endpoint/AbstractConduitSelector.html#close--">close</a>, <a href="../../../../org/apache/cxf/endpoint/AbstractConduitSelector.html#createConduit-org.apache.cxf.message.Message-org.apache.cxf.message.Exchange-org.apache.cxf.transport.ConduitInitiator-">createConduit</a>, <a href="../../../../org/apache/cxf/endpoint/AbstractConduitSelector.html#findCompatibleConduit-org.apache.cxf.message.Message-">findCompatibleConduit</a>, <a href="../../../../org/apache/cxf/endpoint/AbstractConduitSelector.html#getEndpoint--">getEndpoint</a>, <a href="../../../../org/apache/cxf/endpoint/AbstractConduitSelector.html#getSelectedConduit-org.apache.cxf.message.Message-">getSelectedConduit</a>, <a href="../../../../org/apache/cxf/endpoint/AbstractConduitSelector.html#removeConduit-org.apache.cxf.transport.Conduit-">removeConduit</a>, <a href="../../../../org/apache/cxf/endpoint/AbstractConduitSelector.html#setEndpoint-org.apache.cxf.endpoint.Endpoint-">setEndpoint</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></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="LoadDistributorTargetSelector--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LoadDistributorTargetSelector</h4>
<pre>public&nbsp;LoadDistributorTargetSelector()</pre>
<div class="block">Normal constructor.</div>
</li>
</ul>
<a name="LoadDistributorTargetSelector-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LoadDistributorTargetSelector</h4>
<pre>public&nbsp;LoadDistributorTargetSelector(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientBootstrapAddress)</pre>
</li>
</ul>
<a name="LoadDistributorTargetSelector-org.apache.cxf.transport.Conduit-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LoadDistributorTargetSelector</h4>
<pre>public&nbsp;LoadDistributorTargetSelector(<a href="../../../../org/apache/cxf/transport/Conduit.html" title="interface in org.apache.cxf.transport">Conduit</a>&nbsp;c)</pre>
<div class="block">Constructor, allowing a specific conduit to override normal selection.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>c</code> - specific conduit</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="isFailover--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isFailover</h4>
<pre>public&nbsp;boolean&nbsp;isFailover()</pre>
</li>
</ul>
<a name="setFailover-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFailover</h4>
<pre>public&nbsp;void&nbsp;setFailover(boolean&nbsp;failover)</pre>
</li>
</ul>
<a name="getLogger--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLogger</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/logging/Logger.html?is-external=true" title="class or interface in java.util.logging">Logger</a>&nbsp;getLogger()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#getLogger--">getLogger</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html" title="class in org.apache.cxf.clustering">FailoverTargetSelector</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the logger to use</dd>
</dl>
</li>
</ul>
<a name="selectConduit-org.apache.cxf.message.Message-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectConduit</h4>
<pre>public&nbsp;<a href="../../../../org/apache/cxf/transport/Conduit.html" title="interface in org.apache.cxf.transport">Conduit</a>&nbsp;selectConduit(<a href="../../../../org/apache/cxf/message/Message.html" title="interface in org.apache.cxf.message">Message</a>&nbsp;message)</pre>
<div class="block">Called when a Conduit is actually required.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/cxf/endpoint/ConduitSelector.html#selectConduit-org.apache.cxf.message.Message-">selectConduit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cxf/endpoint/ConduitSelector.html" title="interface in org.apache.cxf.endpoint">ConduitSelector</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#selectConduit-org.apache.cxf.message.Message-">selectConduit</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html" title="class in org.apache.cxf.clustering">FailoverTargetSelector</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>message</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Conduit to use for mediation of the message</dd>
</dl>
</li>
</ul>
<a name="getFailoverTarget-org.apache.cxf.message.Exchange-org.apache.cxf.clustering.FailoverTargetSelector.InvocationContext-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFailoverTarget</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/cxf/endpoint/Endpoint.html" title="interface in org.apache.cxf.endpoint">Endpoint</a>&nbsp;getFailoverTarget(<a href="../../../../org/apache/cxf/message/Exchange.html" title="interface in org.apache.cxf.message">Exchange</a>&nbsp;exchange,
<a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.InvocationContext.html" title="class in org.apache.cxf.clustering">FailoverTargetSelector.InvocationContext</a>&nbsp;invocation)</pre>
<div class="block">Get the failover target endpoint, if a suitable one is available.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#getFailoverTarget-org.apache.cxf.message.Exchange-org.apache.cxf.clustering.FailoverTargetSelector.InvocationContext-">getFailoverTarget</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html" title="class in org.apache.cxf.clustering">FailoverTargetSelector</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>exchange</code> - the current Exchange</dd>
<dd><code>invocation</code> - the current InvocationContext</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a failover endpoint if one is available
Note: The only difference between this and the super implementation is
that the current (failed) address is removed from the list set of alternates,
it could be argued that that change should be in the super implementation
but I'm not sure of the impact.</dd>
</dl>
</li>
</ul>
<a name="requiresFailover-org.apache.cxf.message.Exchange-java.lang.Exception-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>requiresFailover</h4>
<pre>protected&nbsp;boolean&nbsp;requiresFailover(<a href="../../../../org/apache/cxf/message/Exchange.html" title="interface in org.apache.cxf.message">Exchange</a>&nbsp;exchange,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;ex)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#requiresFailover-org.apache.cxf.message.Exchange-java.lang.Exception-">FailoverTargetSelector</a></code></span></div>
<div class="block">Check if the exchange is suitable for a failover.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html#requiresFailover-org.apache.cxf.message.Exchange-java.lang.Exception-">requiresFailover</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/cxf/clustering/FailoverTargetSelector.html" title="class in org.apache.cxf.clustering">FailoverTargetSelector</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>exchange</code> - the current Exchange</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>boolean true if a failover should be attempted</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/LoadDistributorTargetSelector.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">Apache CXF API</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/cxf/clustering/LoadDistributorFeature.html" title="class in org.apache.cxf.clustering"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/cxf/clustering/RandomStrategy.html" title="class in org.apache.cxf.clustering"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/cxf/clustering/LoadDistributorTargetSelector.html" target="_top">Frames</a></li>
<li><a href="LoadDistributorTargetSelector.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><a href="#nested.classes.inherited.from.class.org.apache.cxf.clustering.FailoverTargetSelector">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.cxf.clustering.FailoverTargetSelector">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>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>Apache CXF</small></p>
</body>
</html>