| <!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_261) on Mon Dec 20 14:15:51 MSK 2021 --> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>AdaptiveLoadBalancingSpi (Ignite 2.11.1)</title> |
| <meta name="date" content="2021-12-20"> |
| <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style"> |
| <script type="text/javascript" src="../../../../../../script.js"></script> |
| <link rel='shortcut icon' href='https://ignite.apache.org/favicon.ico'/> |
| </head> |
| |
| <body> |
| <script type="text/javascript"><!-- |
| try { |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="AdaptiveLoadBalancingSpi (Ignite 2.11.1)"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":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/AdaptiveLoadBalancingSpi.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> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveJobCountLoadProbe.html" title="class in org.apache.ignite.spi.loadbalancing.adaptive"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpiMBean.html" title="interface in org.apache.ignite.spi.loadbalancing.adaptive"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../../index.html?org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html" target="_top">Frames</a></li> |
| <li><a href="AdaptiveLoadBalancingSpi.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../../../allclasses-noframe.html">All 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: </li> |
| <li>Nested | </li> |
| <li><a href="#fields.inherited.from.class.org.apache.ignite.spi.IgniteSpiAdapter">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </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.ignite.spi.loadbalancing.adaptive</div> |
| <h2 title="Class AdaptiveLoadBalancingSpi" class="title">Class AdaptiveLoadBalancingSpi</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li><a href="https://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/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">org.apache.ignite.spi.IgniteSpiAdapter</a></li> |
| <li> |
| <ul class="inheritance"> |
| <li>org.apache.ignite.spi.loadbalancing.adaptive.AdaptiveLoadBalancingSpi</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <dl> |
| <dt>All Implemented Interfaces:</dt> |
| <dd><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a>, <a href="../../../../../../org/apache/ignite/spi/loadbalancing/LoadBalancingSpi.html" title="interface in org.apache.ignite.spi.loadbalancing">LoadBalancingSpi</a></dd> |
| </dl> |
| <hr> |
| <br> |
| <pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiMultipleInstancesSupport.html" title="annotation in org.apache.ignite.spi">@IgniteSpiMultipleInstancesSupport</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiMultipleInstancesSupport.html#value--">value</a>=true) |
| public class <span class="typeNameLabel">AdaptiveLoadBalancingSpi</span> |
| extends <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a> |
| implements <a href="../../../../../../org/apache/ignite/spi/loadbalancing/LoadBalancingSpi.html" title="interface in org.apache.ignite.spi.loadbalancing">LoadBalancingSpi</a></pre> |
| <div class="block">Load balancing SPI that adapts to overall node performance. It |
| proportionally distributes more jobs to more performant nodes based |
| on a pluggable and dynamic node load probing. |
| <p> |
| <h1 class="header">Adaptive Node Probe</h1> |
| This SPI comes with pluggable algorithm to calculate a node load |
| at any given point of time. The algorithm is defined by |
| <a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadProbe.html" title="interface in org.apache.ignite.spi.loadbalancing.adaptive"><code>AdaptiveLoadProbe</code></a> interface and user is |
| free to provide custom implementations. By default |
| <a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html" title="class in org.apache.ignite.spi.loadbalancing.adaptive"><code>AdaptiveCpuLoadProbe</code></a> implementation is used |
| which distributes jobs to nodes based on average CPU load |
| on every node. |
| <p> |
| The following load probes are available with the product: |
| <ul> |
| <li><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html" title="class in org.apache.ignite.spi.loadbalancing.adaptive"><code>AdaptiveCpuLoadProbe</code></a> - default</li> |
| <li><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveProcessingTimeLoadProbe.html" title="class in org.apache.ignite.spi.loadbalancing.adaptive"><code>AdaptiveProcessingTimeLoadProbe</code></a></li> |
| <li><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveJobCountLoadProbe.html" title="class in org.apache.ignite.spi.loadbalancing.adaptive"><code>AdaptiveJobCountLoadProbe</code></a></li> |
| </ul> |
| Note that if <a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadProbe.html#getLoad-org.apache.ignite.cluster.ClusterNode-int-"><code>AdaptiveLoadProbe.getLoad(org.apache.ignite.cluster.ClusterNode, int)</code></a> returns a value of <code>0</code>, |
| then implementation will assume that load value is simply not available and |
| will try to calculate an average of load values for other nodes. If such |
| average cannot be obtained (all node load values are <code>0</code>), then a value |
| of <code>1</code> will be used. |
| <p> |
| When working with node metrics, take into account that all averages are |
| calculated over metrics history size defined by <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsExpireTime--"><code>IgniteConfiguration.getMetricsExpireTime()</code></a> |
| and <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsHistorySize--"><code>IgniteConfiguration.getMetricsHistorySize()</code></a> grid configuration parameters. |
| Generally the larger these configuration parameter values are, the more precise the metrics are. |
| You should tune these values based on the level of accuracy needed vs. the additional memory |
| that would be required for storing metrics. |
| <p> |
| You should also keep in mind that metrics for remote nodes are delayed (usually by the metrics |
| update frequency). So if it is acceptable in your environment, set the metrics update frequency |
| to be more inline with job execution time. Generally, the more often metrics update between nodes |
| are exchanged, the more precise the metrics are. However, you should keep in mind that if |
| metrics update are exchanged too often then it may create unnecessary traffic in the network. |
| Metrics update frequency can be configured via underlying |
| <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html" title="class in org.apache.ignite.configuration"><code>IgniteConfiguration</code></a> used in your grid. |
| <p> |
| Here is an example of how probing can be implemented to use |
| number of active and waiting jobs as probing mechanism: |
| <pre name="code" class="java"> |
| public class FooBarLoadProbe implements GridAdaptiveLoadProbe { |
| // Flag indicating whether to use average value or current. |
| private int useAvg = true; |
| |
| public FooBarLoadProbe(boolean useAvg) { |
| this.useAvg = useAvg; |
| } |
| |
| // Calculate load based on number of active and waiting jobs. |
| public double getLoad(ClusterNode node, int jobsSentSinceLastUpdate) { |
| GridNodeMetrics metrics = node.getMetrics(); |
| |
| if (useAvg) { |
| double load = metrics.getAverageActiveJobs() + metrics.getAverageWaitingJobs(); |
| |
| if (load > 0) { |
| return load; |
| } |
| } |
| |
| return metrics.getCurrentActiveJobs() + metrics.getCurrentWaitingJobs(); |
| } |
| } |
| </pre> |
| <h1 class="header">Which Node Probe To Use</h1> |
| There is no correct answer here. Every single node probe will work better or worse in |
| different environments. CPU load probe (default option) is the safest approach to start |
| with as it simply attempts to utilize every CPU on the grid to the maximum. However, you should |
| experiment with other probes by executing load tests in your environment and observing |
| which probe gives you best performance and load balancing. |
| <p> |
| <h1 class="header">Task Coding Example</h1> |
| If you are using <a href="../../../../../../org/apache/ignite/compute/ComputeTaskSplitAdapter.html" title="class in org.apache.ignite.compute"><code>ComputeTaskSplitAdapter</code></a> then load balancing logic |
| is transparent to your code and is handled automatically by the adapter. |
| Here is an example of how your task will look: |
| <pre name="code" class="java"> |
| public class MyFooBarTask extends ComputeTaskSplitAdapter<Object, Object> { |
| @Override |
| protected Collection<? extends ComputeJob> split(int gridSize, Object arg) throws IgniteCheckedException { |
| List<MyFooBarJob> jobs = new ArrayList<MyFooBarJob>(gridSize); |
| |
| for (int i = 0; i < gridSize; i++) { |
| jobs.add(new MyFooBarJob(arg)); |
| } |
| |
| // Node assignment via load balancer |
| // happens automatically. |
| return jobs; |
| } |
| ... |
| } |
| </pre> |
| If you need more fine-grained control over how some jobs within task get mapped to a node |
| and use affinity load balancing for some other jobs within task, then you should use |
| <a href="../../../../../../org/apache/ignite/compute/ComputeTaskAdapter.html" title="class in org.apache.ignite.compute"><code>ComputeTaskAdapter</code></a>. Here is an example of how your task will look. Note that in this |
| case we manually inject load balancer and use it to pick the best node. Doing it in |
| such way would allow user to map some jobs manually and for others use load balancer. |
| <pre name="code" class="java"> |
| public class MyFooBarTask extends ComputeTaskAdapter<String, String> { |
| // Inject load balancer. |
| @LoadBalancerResource |
| ComputeLoadBalancer balancer; |
| |
| // Map jobs to grid nodes. |
| public Map<? extends ComputeJob, ClusterNode> map(List<ClusterNode> subgrid, String arg) throws IgniteCheckedException { |
| Map<MyFooBarJob, ClusterNode> jobs = new HashMap<MyFooBarJob, ClusterNode>(subgrid.size()); |
| |
| // In more complex cases, you can actually do |
| // more complicated assignments of jobs to nodes. |
| for (int i = 0; i < subgrid.size(); i++) { |
| // Pick the next best balanced node for the job. |
| jobs.put(new MyFooBarJob(arg), balancer.getBalancedNode()) |
| } |
| |
| return jobs; |
| } |
| |
| // Aggregate results into one compound result. |
| public String reduce(List<ComputeJobResult> results) throws IgniteCheckedException { |
| // For the purpose of this example we simply |
| // concatenate string representation of every |
| // job result |
| StringBuilder buf = new StringBuilder(); |
| |
| for (ComputeJobResult res : results) { |
| // Append string representation of result |
| // returned by every job. |
| buf.append(res.getData().string()); |
| } |
| |
| return buf.string(); |
| } |
| } |
| </pre> |
| <p> |
| <h1 class="header">Configuration</h1> |
| In order to use this load balancer, you should configure your grid instance |
| to use <code>JobsLoadBalancingSpi</code> either from Spring XML file or |
| directly. The following configuration parameters are supported: |
| <h2 class="header">Mandatory</h2> |
| This SPI has no mandatory configuration parameters. |
| <h2 class="header">Optional</h2> |
| This SPI has the following optional configuration parameters: |
| <ul> |
| <li> |
| Adaptive node load probing implementation (see <a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html#setLoadProbe-org.apache.ignite.spi.loadbalancing.adaptive.AdaptiveLoadProbe-"><code>setLoadProbe(AdaptiveLoadProbe)</code></a>). |
| This configuration parameter supplies a custom algorithm for probing a node's load. |
| By default, <a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html" title="class in org.apache.ignite.spi.loadbalancing.adaptive"><code>AdaptiveCpuLoadProbe</code></a> implementation is used which |
| takes every node's CPU load and tries to send proportionally more jobs to less loaded nodes. |
| </li> |
| </ul> |
| <p> |
| Below is Java configuration example: |
| <pre name="code" class="java"> |
| AdaptiveLoadBalancingSpi spi = new AdaptiveLoadBalancingSpi(); |
| |
| // Configure probe to use latest job execution time vs. average. |
| AdaptiveProcessingTimeLoadProbe probe = new AdaptiveProcessingTimeLoadProbe(false); |
| |
| spi.setLoadProbe(probe); |
| |
| IgniteConfiguration cfg = new IgniteConfiguration(); |
| |
| // Override default load balancing SPI. |
| cfg.setLoadBalancingSpi(spi); |
| |
| // Starts grid. |
| G.start(cfg); |
| </pre> |
| Here is how you can configure <code>GridJobsLoadBalancingSpi</code> using Spring XML configuration: |
| <pre name="code" class="xml"> |
| <property name="loadBalancingSpi"> |
| <bean class="org.apache.ignite.spi.loadBalancing.adaptive.AdaptiveLoadBalancingSpi"> |
| <property name="loadProbe"> |
| <bean class="org.apache.ignite.spi.loadBalancing.adaptive.AdaptiveProcessingTimeLoadProbe"> |
| <constructor-arg value="false"/> |
| </bean> |
| </property> |
| </bean> |
| </property> |
| </pre> |
| <p> |
| <img src="http://ignite.apache.org/images/spring-small.png"> |
| <br> |
| For information about Spring framework visit <a href="http://www.springframework.org/">www.springframework.org</a></div> |
| </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> |
| <ul class="blockList"> |
| <li class="blockList"><a name="fields.inherited.from.class.org.apache.ignite.spi.IgniteSpiAdapter"> |
| <!-- --> |
| </a> |
| <h3>Fields inherited from class org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></h3> |
| <code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#ignite">ignite</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#igniteInstanceName">igniteInstanceName</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"> </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/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html#AdaptiveLoadBalancingSpi--">AdaptiveLoadBalancingSpi</a></span>()</code> </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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html#getBalancedNode-org.apache.ignite.compute.ComputeTaskSession-java.util.List-org.apache.ignite.compute.ComputeJob-">getBalancedNode</a></span>(<a href="../../../../../../org/apache/ignite/compute/ComputeTaskSession.html" title="interface in org.apache.ignite.compute">ComputeTaskSession</a> ses, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><span class='angle_bracket'><</span><a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a><span class='angle_bracket'>></span> top, |
| <a href="../../../../../../org/apache/ignite/compute/ComputeJob.html" title="interface in org.apache.ignite.compute">ComputeJob</a> job)</code> |
| <div class="block">Gets balanced node for specified job within given task session.</div> |
| </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html#getLoadProbeFormatted--">getLoadProbeFormatted</a></span>()</code> |
| <div class="block">Gets text description of current load probing implementation used.</div> |
| </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html#onContextDestroyed0--">onContextDestroyed0</a></span>()</code> |
| <div class="block">Method to be called in the beginning of onContextDestroyed() method.</div> |
| </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html#onContextInitialized0-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized0</a></span>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a> spiCtx)</code> |
| <div class="block">Method to be called in the end of onContextInitialized method.</div> |
| </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html" title="class in org.apache.ignite.spi.loadbalancing.adaptive">AdaptiveLoadBalancingSpi</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html#setLoadProbe-org.apache.ignite.spi.loadbalancing.adaptive.AdaptiveLoadProbe-">setLoadProbe</a></span>(<a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadProbe.html" title="interface in org.apache.ignite.spi.loadbalancing.adaptive">AdaptiveLoadProbe</a> probe)</code> |
| <div class="block">Sets implementation of node load probe.</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html" title="class in org.apache.ignite.spi.loadbalancing.adaptive">AdaptiveLoadBalancingSpi</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html#setName-java.lang.String-">setName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</code> |
| <div class="block">Sets SPI name.</div> |
| </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html#spiStart-java.lang.String-">spiStart</a></span>(@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> igniteInstanceName)</code> |
| <div class="block">This method is called to start SPI.</div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html#spiStop--">spiStop</a></span>()</code> |
| <div class="block">This method is called to stop SPI.</div> |
| </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html#toString--">toString</a></span>()</code></td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods.inherited.from.class.org.apache.ignite.spi.IgniteSpiAdapter"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></h3> |
| <code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#addTimeoutObject-org.apache.ignite.spi.IgniteSpiTimeoutObject-">addTimeoutObject</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#assertParameter-boolean-java.lang.String-">assertParameter</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#checkConfigurationConsistency0-org.apache.ignite.spi.IgniteSpiContext-org.apache.ignite.cluster.ClusterNode-boolean-">checkConfigurationConsistency0</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#clientFailureDetectionTimeout--">clientFailureDetectionTimeout</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#configInfo-java.lang.String-java.lang.Object-">configInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#createSpiAttributeName-java.lang.String-">createSpiAttributeName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeout--">failureDetectionTimeout</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeoutEnabled--">failureDetectionTimeoutEnabled</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeoutEnabled-boolean-">failureDetectionTimeoutEnabled</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getConsistentAttributeNames--">getConsistentAttributeNames</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getExceptionRegistry--">getExceptionRegistry</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getLocalNode--">getLocalNode</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getName--">getName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getNodeAttributes--">getNodeAttributes</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getSpiContext--">getSpiContext</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#ignite--">ignite</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#initFailureDetectionTimeout--">initFailureDetectionTimeout</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#injectables--">injectables</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#injectResources-org.apache.ignite.Ignite-">injectResources</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#isNodeStopping--">isNodeStopping</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onBeforeStart--">onBeforeStart</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onClientDisconnected-org.apache.ignite.lang.IgniteFuture-">onClientDisconnected</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onClientReconnected-boolean-">onClientReconnected</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextDestroyed--">onContextDestroyed</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextInitialized-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#registerMBean-java.lang.String-T-java.lang.Class-">registerMBean</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#removeTimeoutObject-org.apache.ignite.spi.IgniteSpiTimeoutObject-">removeTimeoutObject</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#started--">started</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#startInfo--">startInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#startStopwatch--">startStopwatch</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#stopInfo--">stopInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#unregisterMBean--">unregisterMBean</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 java.lang.<a href="https://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="https://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="https://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="https://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="https://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="https://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="https://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="https://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="https://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="https://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="https://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> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods.inherited.from.class.org.apache.ignite.spi.IgniteSpi"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from interface org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></h3> |
| <code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#getName--">getName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#getNodeAttributes--">getNodeAttributes</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onClientDisconnected-org.apache.ignite.lang.IgniteFuture-">onClientDisconnected</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onClientReconnected-boolean-">onClientReconnected</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onContextDestroyed--">onContextDestroyed</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onContextInitialized-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized</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="AdaptiveLoadBalancingSpi--"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>AdaptiveLoadBalancingSpi</h4> |
| <pre>public AdaptiveLoadBalancingSpi()</pre> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ============ METHOD DETAIL ========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method.detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a name="getLoadProbeFormatted--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getLoadProbeFormatted</h4> |
| <pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> getLoadProbeFormatted()</pre> |
| <div class="block">Gets text description of current load probing implementation used.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Text description of current load probing implementation used.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setLoadProbe-org.apache.ignite.spi.loadbalancing.adaptive.AdaptiveLoadProbe-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setLoadProbe</h4> |
| <pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true) |
| public <a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html" title="class in org.apache.ignite.spi.loadbalancing.adaptive">AdaptiveLoadBalancingSpi</a> setLoadProbe(<a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadProbe.html" title="interface in org.apache.ignite.spi.loadbalancing.adaptive">AdaptiveLoadProbe</a> probe)</pre> |
| <div class="block">Sets implementation of node load probe. By default <a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveProcessingTimeLoadProbe.html" title="class in org.apache.ignite.spi.loadbalancing.adaptive"><code>AdaptiveProcessingTimeLoadProbe</code></a> |
| is used which proportionally distributes load based on the average job execution |
| time on every node.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>probe</code> - Implementation of node load probe</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd><code>this</code> for chaining.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="spiStart-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>spiStart</h4> |
| <pre>public void spiStart(@Nullable |
| @Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> igniteInstanceName) |
| throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre> |
| <div class="block">This method is called to start SPI. After this method returns |
| successfully kernel assumes that SPI is fully operational.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart-java.lang.String-">spiStart</a></code> in interface <code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>igniteInstanceName</code> - Name of Ignite instance this SPI is being started for |
| (<code>null</code> for default Ignite instance).</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - Throws in case of any error during SPI start.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="spiStop--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>spiStop</h4> |
| <pre>public void spiStop() |
| throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre> |
| <div class="block">This method is called to stop SPI. After this method returns kernel |
| assumes that this SPI is finished and all resources acquired by it |
| are released. |
| <p> |
| <b> |
| Note that this method can be called at any point including during |
| recovery of failed start. It should make no assumptions on what state SPI |
| will be in when this method is called. |
| </b></div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStop--">spiStop</a></code> in interface <code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></code></dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - Thrown in case of any error during SPI stop.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="onContextInitialized0-org.apache.ignite.spi.IgniteSpiContext-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>onContextInitialized0</h4> |
| <pre>protected void onContextInitialized0(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a> spiCtx) |
| throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre> |
| <div class="block">Method to be called in the end of onContextInitialized method.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextInitialized0-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized0</a></code> in class <code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>spiCtx</code> - SPI context.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - In case of errors.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="onContextDestroyed0--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>onContextDestroyed0</h4> |
| <pre>protected void onContextDestroyed0()</pre> |
| <div class="block">Method to be called in the beginning of onContextDestroyed() method.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextDestroyed0--">onContextDestroyed0</a></code> in class <code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getBalancedNode-org.apache.ignite.compute.ComputeTaskSession-java.util.List-org.apache.ignite.compute.ComputeJob-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getBalancedNode</h4> |
| <pre>public <a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a> getBalancedNode(<a href="../../../../../../org/apache/ignite/compute/ComputeTaskSession.html" title="interface in org.apache.ignite.compute">ComputeTaskSession</a> ses, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><span class='angle_bracket'><</span><a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a><span class='angle_bracket'>></span> top, |
| <a href="../../../../../../org/apache/ignite/compute/ComputeJob.html" title="interface in org.apache.ignite.compute">ComputeJob</a> job)</pre> |
| <div class="block">Gets balanced node for specified job within given task session.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/loadbalancing/LoadBalancingSpi.html#getBalancedNode-org.apache.ignite.compute.ComputeTaskSession-java.util.List-org.apache.ignite.compute.ComputeJob-">getBalancedNode</a></code> in interface <code><a href="../../../../../../org/apache/ignite/spi/loadbalancing/LoadBalancingSpi.html" title="interface in org.apache.ignite.spi.loadbalancing">LoadBalancingSpi</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>ses</code> - Grid task session for currently executing task.</dd> |
| <dd><code>top</code> - Topology of task nodes from which to pick the best balanced node for given job.</dd> |
| <dd><code>job</code> - Job for which to pick the best balanced node.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Best balanced node for the given job within given task session.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setName-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setName</h4> |
| <pre>public <a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html" title="class in org.apache.ignite.spi.loadbalancing.adaptive">AdaptiveLoadBalancingSpi</a> setName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</pre> |
| <div class="block">Sets SPI name.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#setName-java.lang.String-">setName</a></code> in class <code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>name</code> - SPI name.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd><code>this</code> for chaining.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="toString--"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>toString</h4> |
| <pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> toString()</pre> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code> in class <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</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/AdaptiveLoadBalancingSpi.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> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveJobCountLoadProbe.html" title="class in org.apache.ignite.spi.loadbalancing.adaptive"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpiMBean.html" title="interface in org.apache.ignite.spi.loadbalancing.adaptive"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../../index.html?org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html" target="_top">Frames</a></li> |
| <li><a href="AdaptiveLoadBalancingSpi.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../../../allclasses-noframe.html">All 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: </li> |
| <li>Nested | </li> |
| <li><a href="#fields.inherited.from.class.org.apache.ignite.spi.IgniteSpiAdapter">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </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><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px"> <tr> <td> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <a target=_blank href="https://ignite.apache.org"><nobr>2021 Copyright © Apache Software Foundation</nobr></a> </td> </tr> </tbody> </table> </td> <td width="100%" align="right" valign="center"> <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a> </td> </tr> <tr> <td colspan="2" valign="top" align="left"> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <b>Ignite Database and Caching Platform</b> </td> <td>: ver. <strong>2.11.1</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>: December 20 2021 </td> </tr> </tbody> </table> </td> </tr> </table></small></p> |
| </body> |
| </html> |