<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.7.6/javadoc/org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

<!-- Generated by javadoc (1.8.0_212) on Wed Sep 11 22:29:51 MSK 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>PriorityQueueCollisionSpi (Ignite 2.7.6)</title>
<meta name="date" content="2019-09-11">
<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'/>

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>

<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="PriorityQueueCollisionSpi (Ignite 2.7.6)";
        }
    }
    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,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":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/PriorityQueueCollisionSpi.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>Prev&nbsp;Class</li>
<li><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpiMBean.html" title="interface in org.apache.ignite.spi.collision.priorityqueue"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" target="_top">Frames</a></li>
<li><a href="PriorityQueueCollisionSpi.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">org.apache.ignite.spi.collision.priorityqueue</div>
<h2 title="Class PriorityQueueCollisionSpi" class="title">Class PriorityQueueCollisionSpi</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/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.collision.priorityqueue.PriorityQueueCollisionSpi</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/collision/CollisionSpi.html" title="interface in org.apache.ignite.spi.collision">CollisionSpi</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</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)
 <a href="../../../../../../org/apache/ignite/spi/IgniteSpiConsistencyChecked.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConsistencyChecked</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConsistencyChecked.html#optional--">optional</a>=true)
public class <span class="typeNameLabel">PriorityQueueCollisionSpi</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/collision/CollisionSpi.html" title="interface in org.apache.ignite.spi.collision">CollisionSpi</a></pre>
<div class="block">This class provides implementation for Collision SPI based on priority queue. Jobs are first ordered
 by their priority, if one is specified, and only first <a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#getParallelJobsNumber--"><code>getParallelJobsNumber()</code></a> jobs
 is allowed to execute in parallel. Other jobs will be queued up.
 <h1 class="header">Configuration</h1>
 <h2 class="header">Mandatory</h2>
 This SPI has no mandatory configuration parameters.
 <h2 class="header">Optional</h2>
 This SPI has following optional configuration parameters:
 <ul>
 <li>
      Number of jobs that can be executed in parallel (see <a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#setParallelJobsNumber-int-"><code>setParallelJobsNumber(int)</code></a>).
      This number should usually be set to no greater than number of threads in the execution thread pool.
 </li>
 <li>
      Priority attribute session key (see <a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#getPriorityAttributeKey--"><code>getPriorityAttributeKey()</code></a>). Prior to
      returning from <a href="../../../../../../org/apache/ignite/compute/ComputeTask.html#map-java.util.List-T-"><code>ComputeTask.map(List, Object)</code></a> method, task implementation should
      set a value into the task session keyed by this attribute key. See <a href="../../../../../../org/apache/ignite/compute/ComputeTaskSession.html" title="interface in org.apache.ignite.compute"><code>ComputeTaskSession</code></a>
      for more information about task session.
 </li>
 <li>
      Priority attribute job context key (see <a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#getJobPriorityAttributeKey--"><code>getJobPriorityAttributeKey()</code></a>).
      It is used for specifying job priority.
      See <a href="../../../../../../org/apache/ignite/compute/ComputeJobContext.html" title="interface in org.apache.ignite.compute"><code>ComputeJobContext</code></a> for more information about job context.
 </li>
 <li>Default priority value (see <a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#getDefaultPriority--"><code>getDefaultPriority()</code></a>). It is used when no priority is set.</li>
 <li>
      Default priority increase value (see <a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#getStarvationIncrement--"><code>getStarvationIncrement()</code></a>).
      It is used for increasing priority when job gets bumped down.
      This future is used for preventing starvation waiting jobs execution.
 </li>
 <li>
      Default increasing priority flag value (see <a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#isStarvationPreventionEnabled--"><code>isStarvationPreventionEnabled()</code></a>).
      It is used for enabling increasing priority when job gets bumped down.
      This future is used for preventing starvation waiting jobs execution.
 </li>
 </ul>
 Below is a Java example of configuration for priority collision SPI:
 <pre name="code" class="java">
 PriorityQueueCollisionSpi colSpi = new PriorityQueueCollisionSpi();

 // Execute all jobs sequentially by setting parallel job number to 1.
 colSpi.setParallelJobsNumber(1);

 IgniteConfiguration cfg = new IgniteConfiguration();

 // Override default collision SPI.
 cfg.setCollisionSpi(colSpi);

 // Starts grid.
 G.start(cfg);
 </pre>
 Here is Spring XML configuration example:
 <pre name="code" class="xml">
 &lt;property name="collisionSpi"&gt;
     &lt;bean class="org.apache.ignite.spi.collision.priorityqueue.PriorityQueueCollisionSpi"&gt;
         &lt;property name="priorityAttributeKey" value="myPriorityAttributeKey"/&gt;
         &lt;property name="parallelJobsNumber" value="10"/&gt;
     &lt;/bean&gt;
 &lt;/property&gt;
 </pre>
 <p>
 <h1 class="header">Coding Example</h1>
 Here is an example of a grid tasks that uses priority collision SPI configured in example above.
 Note that priority collision resolution is absolutely transparent to the user and is simply a matter of proper
 grid configuration. Also, priority may be defined only for task (it can be defined within the task,
 not at a job level). All split jobs will be started with priority declared in their owner task.
 <p>
 This example demonstrates how urgent task may be declared with a higher priority value.
 Priority SPI guarantees (see its configuration in example above, where number of parallel
 jobs is set to <code>1</code>) that all jobs from <code>MyGridUrgentTask</code> will most likely
 be activated first (one by one) and jobs from <code>MyGridUsualTask</code> with lowest priority
 will wait. Once higher priority jobs complete, lower priority jobs will be scheduled.
 <pre name="code" class="java">
 public class MyGridUsualTask extends ComputeTaskSplitAdapter&lt;Object, Object&gt; {
    public static final int SPLIT_COUNT = 20;

    &#64;TaskSessionResource
    private ComputeTaskSession taskSes;

    &#64;Override
    protected Collection&lt;? extends ComputeJob&gt; split(int gridSize, Object arg) throws IgniteCheckedException {
        ...
        // Set low task priority (note that attribute name is used by the SPI
        // and should not be changed).
        taskSes.setAttribute("grid.task.priority", 5);

        Collection&lt;ComputeJob&gt; jobs = new ArrayList&lt;ComputeJob&gt;(SPLIT_COUNT);

        for (int i = 1; i &lt;= SPLIT_COUNT; i++) {
            jobs.add(new ComputeJobAdapter&lt;Integer&gt;(i) {
                ...
            });
        }
        ...
    }
 }
 </pre>
 and
 <pre name="code" class="java">
 public class MyGridUrgentTask extends ComputeTaskSplitAdapter&lt;Object, Object&gt; {
    public static final int SPLIT_COUNT = 5;

    &#64;TaskSessionResource
    private ComputeTaskSession taskSes;

    &#64;Override
    protected Collection&lt;? extends ComputeJob&gt; split(int gridSize, Object arg) throws IgniteCheckedException {
        ...
        // Set high task priority (note that attribute name is used by the SPI
        // and should not be changed).
        taskSes.setAttribute("grid.task.priority", 10);

        Collection&lt;ComputeJob&gt; jobs = new ArrayList&lt;ComputeJob&gt;(SPLIT_COUNT);

        for (int i = 1; i &lt;= SPLIT_COUNT; i++) {
            jobs.add(new ComputeJobAdapter&lt;Integer&gt;(i) {
                ...
            });
        }
        ...
    }
 }
 </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>
<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 <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></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#DFLT_JOB_PRIORITY_ATTRIBUTE_KEY">DFLT_JOB_PRIORITY_ATTRIBUTE_KEY</a></span></code>
<div class="block">Default job priority attribute key (value is <code>grid.job.priority</code>).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#DFLT_PARALLEL_JOBS_NUM">DFLT_PARALLEL_JOBS_NUM</a></span></code>
<div class="block">Default number of parallel jobs allowed (set to number of cores times 2).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#DFLT_PREVENT_STARVATION_ENABLED">DFLT_PREVENT_STARVATION_ENABLED</a></span></code>
<div class="block">Default flag for preventing starvation of lower priority jobs.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#DFLT_PRIORITY">DFLT_PRIORITY</a></span></code>
<div class="block">Default priority that will be assigned if job does not have a
 priority attribute set (value is <code>0</code>).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <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></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#DFLT_PRIORITY_ATTRIBUTE_KEY">DFLT_PRIORITY_ATTRIBUTE_KEY</a></span></code>
<div class="block">Default priority attribute key (value is <code>grid.task.priority</code>).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#DFLT_STARVATION_INCREMENT">DFLT_STARVATION_INCREMENT</a></span></code>
<div class="block">Default value on which job priority will be increased every time when job gets bumped down.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#DFLT_WAIT_JOBS_NUM">DFLT_WAIT_JOBS_NUM</a></span></code>
<div class="block">Default waiting jobs number.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.ignite.spi.IgniteSpiAdapter">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;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">&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/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#PriorityQueueCollisionSpi--">PriorityQueueCollisionSpi</a></span>()</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="http://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'>&lt;</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><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#getConsistentAttributeNames--">getConsistentAttributeNames</a></span>()</code>
<div class="block">Returns back a list of attributes that should be consistent
 for this SPI.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#getCurrentActiveJobsNumber--">getCurrentActiveJobsNumber</a></span>()</code>
<div class="block">Gets current number of jobs that are active, i.e.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#getCurrentHeldJobsNumber--">getCurrentHeldJobsNumber</a></span>()</code>
<div class="block">Gets number of currently <code>'held'</code> jobs.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#getCurrentRunningJobsNumber--">getCurrentRunningJobsNumber</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#getCurrentWaitJobsNumber--">getCurrentWaitJobsNumber</a></span>()</code>
<div class="block">Gets current number of jobs that wait for the execution.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#getDefaultPriority--">getDefaultPriority</a></span>()</code>
<div class="block">Gets default priority to use if a job does not have priority attribute
 set.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><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></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#getJobPriorityAttributeKey--">getJobPriorityAttributeKey</a></span>()</code>
<div class="block">Gets key name of job priority attribute.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</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>,<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><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#getNodeAttributes--">getNodeAttributes</a></span>()</code>
<div class="block">This method is called before SPI starts (before method <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart-java.lang.String-"><code>IgniteSpi.spiStart(String)</code></a>
 is called).</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#getParallelJobsNumber--">getParallelJobsNumber</a></span>()</code>
<div class="block">Gets number of jobs that can be executed in parallel.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><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></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#getPriorityAttributeKey--">getPriorityAttributeKey</a></span>()</code>
<div class="block">Gets key name of task priority attribute.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#getStarvationIncrement--">getStarvationIncrement</a></span>()</code>
<div class="block">Gets value to increment job priority by every time a lower priority job gets
 behind a higher priority job.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#getWaitingJobsNumber--">getWaitingJobsNumber</a></span>()</code>
<div class="block">Maximum number of jobs that are allowed to wait in waiting queue.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#isStarvationPreventionEnabled--">isStarvationPreventionEnabled</a></span>()</code>
<div class="block">Gets flag indicating whether job starvation prevention is enabled.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#onCollision-org.apache.ignite.spi.collision.CollisionContext-">onCollision</a></span>(<a href="../../../../../../org/apache/ignite/spi/collision/CollisionContext.html" title="interface in org.apache.ignite.spi.collision">CollisionContext</a>&nbsp;ctx)</code>
<div class="block">This is a callback called:
 
      new grid job arrived
      executing job finished its execution
      topology changed
     periodically (on <a href="../../../../../../org/apache/ignite/events/EventType.html#EVT_NODE_METRICS_UPDATED"><code>EventType.EVT_NODE_METRICS_UPDATED</code></a>)
 
 When new job arrives it is added to the end of the wait list and this
 method is called.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.priorityqueue">PriorityQueueCollisionSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#setDefaultPriority-int-">setDefaultPriority</a></span>(int&nbsp;priority)</code>
<div class="block">Sets default priority to use if a job does not have priority attribute set.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#setExternalCollisionListener-org.apache.ignite.spi.collision.CollisionExternalListener-">setExternalCollisionListener</a></span>(<a href="../../../../../../org/apache/ignite/spi/collision/CollisionExternalListener.html" title="interface in org.apache.ignite.spi.collision">CollisionExternalListener</a>&nbsp;lsnr)</code>
<div class="block">Listener to be set for notification of external collision events (e.g. job stealing).</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.priorityqueue">PriorityQueueCollisionSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#setJobPriorityAttributeKey-java.lang.String-">setJobPriorityAttributeKey</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;jobPriAttrKey)</code>
<div class="block">Sets job priority attribute key.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.priorityqueue">PriorityQueueCollisionSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#setName-java.lang.String-">setName</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;name)</code>
<div class="block">Sets SPI name.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.priorityqueue">PriorityQueueCollisionSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#setParallelJobsNumber-int-">setParallelJobsNumber</a></span>(int&nbsp;parallelJobsNum)</code>
<div class="block">Sets number of jobs that can be executed in parallel.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.priorityqueue">PriorityQueueCollisionSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#setPriorityAttributeKey-java.lang.String-">setPriorityAttributeKey</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;taskPriAttrKey)</code>
<div class="block">Sets task priority attribute key.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.priorityqueue">PriorityQueueCollisionSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#setStarvationIncrement-int-">setStarvationIncrement</a></span>(int&nbsp;starvationInc)</code>
<div class="block">Sets value to increment job priority by every time a lower priority job gets
 behind a higher priority job.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.priorityqueue">PriorityQueueCollisionSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#setStarvationPreventionEnabled-boolean-">setStarvationPreventionEnabled</a></span>(boolean&nbsp;preventStarvation)</code>
<div class="block">Sets flag indicating whether job starvation prevention is enabled.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.priorityqueue">PriorityQueueCollisionSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#setWaitingJobsNumber-int-">setWaitingJobsNumber</a></span>(int&nbsp;waitJobsNum)</code>
<div class="block">Maximum number of jobs that are allowed to wait in waiting queue.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#spiStart-java.lang.String-">spiStart</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;igniteInstanceName)</code>
<div class="block">This method is called to start SPI.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html#spiStop--">spiStop</a></span>()</code>
<div class="block">This method is called to stop SPI.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><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></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.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&nbsp;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#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#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#onContextDestroyed0--">onContextDestroyed0</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#onContextInitialized0-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized0</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&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#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>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.ignite.spi.IgniteSpi">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;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#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">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="DFLT_PARALLEL_JOBS_NUM">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_PARALLEL_JOBS_NUM</h4>
<pre>public static final&nbsp;int DFLT_PARALLEL_JOBS_NUM</pre>
<div class="block">Default number of parallel jobs allowed (set to number of cores times 2).</div>
</li>
</ul>
<a name="DFLT_WAIT_JOBS_NUM">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_WAIT_JOBS_NUM</h4>
<pre>public static final&nbsp;int DFLT_WAIT_JOBS_NUM</pre>
<div class="block">Default waiting jobs number. If number of waiting jobs exceed this number,
 jobs will be rejected. Default value is <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true#MAX_VALUE" title="class or interface in java.lang"><code>Integer.MAX_VALUE</code></a>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.collision.priorityqueue.PriorityQueueCollisionSpi.DFLT_WAIT_JOBS_NUM">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_PRIORITY_ATTRIBUTE_KEY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_PRIORITY_ATTRIBUTE_KEY</h4>
<pre>public static final&nbsp;<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> DFLT_PRIORITY_ATTRIBUTE_KEY</pre>
<div class="block">Default priority attribute key (value is <code>grid.task.priority</code>).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.collision.priorityqueue.PriorityQueueCollisionSpi.DFLT_PRIORITY_ATTRIBUTE_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_JOB_PRIORITY_ATTRIBUTE_KEY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_JOB_PRIORITY_ATTRIBUTE_KEY</h4>
<pre>public static final&nbsp;<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> DFLT_JOB_PRIORITY_ATTRIBUTE_KEY</pre>
<div class="block">Default job priority attribute key (value is <code>grid.job.priority</code>).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.collision.priorityqueue.PriorityQueueCollisionSpi.DFLT_JOB_PRIORITY_ATTRIBUTE_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_PRIORITY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_PRIORITY</h4>
<pre>public static final&nbsp;int DFLT_PRIORITY</pre>
<div class="block">Default priority that will be assigned if job does not have a
 priority attribute set (value is <code>0</code>).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.collision.priorityqueue.PriorityQueueCollisionSpi.DFLT_PRIORITY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_STARVATION_INCREMENT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_STARVATION_INCREMENT</h4>
<pre>public static final&nbsp;int DFLT_STARVATION_INCREMENT</pre>
<div class="block">Default value on which job priority will be increased every time when job gets bumped down.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.collision.priorityqueue.PriorityQueueCollisionSpi.DFLT_STARVATION_INCREMENT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_PREVENT_STARVATION_ENABLED">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DFLT_PREVENT_STARVATION_ENABLED</h4>
<pre>public static final&nbsp;boolean DFLT_PREVENT_STARVATION_ENABLED</pre>
<div class="block">Default flag for preventing starvation of lower priority jobs.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.collision.priorityqueue.PriorityQueueCollisionSpi.DFLT_PREVENT_STARVATION_ENABLED">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="PriorityQueueCollisionSpi--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PriorityQueueCollisionSpi</h4>
<pre>public&nbsp;PriorityQueueCollisionSpi()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getParallelJobsNumber--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParallelJobsNumber</h4>
<pre>public&nbsp;int&nbsp;getParallelJobsNumber()</pre>
<div class="block">Gets number of jobs that can be executed in parallel.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Number of jobs that can be executed in parallel.</dd>
</dl>
</li>
</ul>
<a name="setParallelJobsNumber-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setParallelJobsNumber</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&nbsp;<a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.priorityqueue">PriorityQueueCollisionSpi</a>&nbsp;setParallelJobsNumber(int&nbsp;parallelJobsNum)</pre>
<div class="block">Sets number of jobs that can be executed in parallel.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parallelJobsNum</code> - Parallel jobs number.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getWaitingJobsNumber--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWaitingJobsNumber</h4>
<pre>public&nbsp;int&nbsp;getWaitingJobsNumber()</pre>
<div class="block">Maximum number of jobs that are allowed to wait in waiting queue. If number
 of waiting jobs ever exceeds this number, excessive jobs will be rejected.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Maximum allowed number of waiting jobs.</dd>
</dl>
</li>
</ul>
<a name="setWaitingJobsNumber-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWaitingJobsNumber</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&nbsp;<a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.priorityqueue">PriorityQueueCollisionSpi</a>&nbsp;setWaitingJobsNumber(int&nbsp;waitJobsNum)</pre>
<div class="block">Maximum number of jobs that are allowed to wait in waiting queue. If number
 of waiting jobs ever exceeds this number, excessive jobs will be rejected.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>waitJobsNum</code> - Maximium jobs number.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getCurrentWaitJobsNumber--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentWaitJobsNumber</h4>
<pre>public&nbsp;int&nbsp;getCurrentWaitJobsNumber()</pre>
<div class="block">Gets current number of jobs that wait for the execution.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Number of jobs that wait for execution.</dd>
</dl>
</li>
</ul>
<a name="getCurrentActiveJobsNumber--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentActiveJobsNumber</h4>
<pre>public&nbsp;int&nbsp;getCurrentActiveJobsNumber()</pre>
<div class="block">Gets current number of jobs that are active, i.e. <code>'running + held'</code> jobs.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Number of active jobs.</dd>
</dl>
</li>
</ul>
<a name="getCurrentRunningJobsNumber--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentRunningJobsNumber</h4>
<pre>public&nbsp;int&nbsp;getCurrentRunningJobsNumber()</pre>
</li>
</ul>
<a name="getCurrentHeldJobsNumber--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentHeldJobsNumber</h4>
<pre>public&nbsp;int&nbsp;getCurrentHeldJobsNumber()</pre>
<div class="block">Gets number of currently <code>'held'</code> jobs.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Number of currently <code>'held'</code> jobs.</dd>
</dl>
</li>
</ul>
<a name="setPriorityAttributeKey-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPriorityAttributeKey</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&nbsp;<a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.priorityqueue">PriorityQueueCollisionSpi</a>&nbsp;setPriorityAttributeKey(<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;taskPriAttrKey)</pre>
<div class="block">Sets task priority attribute key. This key will be used to look up task
 priorities from task context (see <a href="../../../../../../org/apache/ignite/compute/ComputeTaskSession.html#getAttribute-K-"><code>ComputeTaskSession.getAttribute(Object)</code></a>).
 <p>
 If not provided, default value is <code>{@link #DFLT_PRIORITY_ATTRIBUTE_KEY}</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>taskPriAttrKey</code> - Priority session attribute key.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="setJobPriorityAttributeKey-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setJobPriorityAttributeKey</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&nbsp;<a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.priorityqueue">PriorityQueueCollisionSpi</a>&nbsp;setJobPriorityAttributeKey(<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;jobPriAttrKey)</pre>
<div class="block">Sets job priority attribute key. This key will be used to look up job
 priorities from job context (see <a href="../../../../../../org/apache/ignite/compute/ComputeJobContext.html#getAttribute-K-"><code>ComputeJobContext.getAttribute(Object)</code></a>).
 <p>
 If not provided, default value is <code>{@link #DFLT_JOB_PRIORITY_ATTRIBUTE_KEY}</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>jobPriAttrKey</code> - Job priority attribute key.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getPriorityAttributeKey--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPriorityAttributeKey</h4>
<pre>public&nbsp;<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;getPriorityAttributeKey()</pre>
<div class="block">Gets key name of task priority attribute.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Key name of task priority attribute.</dd>
</dl>
</li>
</ul>
<a name="getJobPriorityAttributeKey--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJobPriorityAttributeKey</h4>
<pre>public&nbsp;<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;getJobPriorityAttributeKey()</pre>
<div class="block">Gets key name of job priority attribute.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Key name of job priority attribute.</dd>
</dl>
</li>
</ul>
<a name="getDefaultPriority--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultPriority</h4>
<pre>public&nbsp;int&nbsp;getDefaultPriority()</pre>
<div class="block">Gets default priority to use if a job does not have priority attribute
 set.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Default priority to use if a task does not have priority
      attribute set.</dd>
</dl>
</li>
</ul>
<a name="setDefaultPriority-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDefaultPriority</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&nbsp;<a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.priorityqueue">PriorityQueueCollisionSpi</a>&nbsp;setDefaultPriority(int&nbsp;priority)</pre>
<div class="block">Sets default priority to use if a job does not have priority attribute set.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>priority</code> - default priority.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getStarvationIncrement--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStarvationIncrement</h4>
<pre>public&nbsp;int&nbsp;getStarvationIncrement()</pre>
<div class="block">Gets value to increment job priority by every time a lower priority job gets
 behind a higher priority job.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Value to increment job priority by every time a lower priority job gets
      behind a higher priority job.</dd>
</dl>
</li>
</ul>
<a name="setStarvationIncrement-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStarvationIncrement</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&nbsp;<a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.priorityqueue">PriorityQueueCollisionSpi</a>&nbsp;setStarvationIncrement(int&nbsp;starvationInc)</pre>
<div class="block">Sets value to increment job priority by every time a lower priority job gets
 behind a higher priority job.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>starvationInc</code> - Increment value.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="isStarvationPreventionEnabled--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isStarvationPreventionEnabled</h4>
<pre>public&nbsp;boolean&nbsp;isStarvationPreventionEnabled()</pre>
<div class="block">Gets flag indicating whether job starvation prevention is enabled.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Flag indicating whether job starvation prevention is enabled.</dd>
</dl>
</li>
</ul>
<a name="setStarvationPreventionEnabled-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStarvationPreventionEnabled</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&nbsp;<a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.priorityqueue">PriorityQueueCollisionSpi</a>&nbsp;setStarvationPreventionEnabled(boolean&nbsp;preventStarvation)</pre>
<div class="block">Sets flag indicating whether job starvation prevention is enabled.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>preventStarvation</code> - Flag indicating whether job starvation prevention is enabled.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getNodeAttributes--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNodeAttributes</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</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>,<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><span class='angle_bracket'>&gt;</span>&nbsp;getNodeAttributes()
                                     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 before SPI starts (before method <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart-java.lang.String-"><code>IgniteSpi.spiStart(String)</code></a>
 is called). It allows SPI implementation to add attributes to a local
 node. Kernal collects these attributes from all SPI implementations
 loaded up and then passes it to discovery SPI so that they can be
 exchanged with other nodes.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#getNodeAttributes--">getNodeAttributes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getNodeAttributes--">getNodeAttributes</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Map of local node attributes this SPI wants to add.</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.</dd>
</dl>
</li>
</ul>
<a name="spiStart-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>spiStart</h4>
<pre>public&nbsp;void&nbsp;spiStart(<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;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>&nbsp;in interface&nbsp;<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&nbsp;void&nbsp;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>&nbsp;in interface&nbsp;<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="setExternalCollisionListener-org.apache.ignite.spi.collision.CollisionExternalListener-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setExternalCollisionListener</h4>
<pre>public&nbsp;void&nbsp;setExternalCollisionListener(<a href="../../../../../../org/apache/ignite/spi/collision/CollisionExternalListener.html" title="interface in org.apache.ignite.spi.collision">CollisionExternalListener</a>&nbsp;lsnr)</pre>
<div class="block">Listener to be set for notification of external collision events (e.g. job stealing).
 Once grid receives such notification, it will immediately invoke collision SPI.
 <p>
 Ignite uses this listener to enable job stealing from overloaded to underloaded nodes.
 However, you can also utilize it, for instance, to provide time based collision
 resolution. To achieve this, you most likely would mark some job by setting a certain
 attribute in job context (see <a href="../../../../../../org/apache/ignite/compute/ComputeJobContext.html" title="interface in org.apache.ignite.compute"><code>ComputeJobContext</code></a>) for a job that requires
 time-based scheduling and set some timer in your SPI implementation that would wake up
 after a certain period of time. Once this period is reached, you would notify this
 listener that a collision resolution should take place. Then inside of your collision
 resolution logic, you would find the marked waiting job and activate it.
 <p>
 Note that most collision SPI's might not have external collisions. In that case,
 they should simply ignore this method and do nothing when listener is set.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/collision/CollisionSpi.html#setExternalCollisionListener-org.apache.ignite.spi.collision.CollisionExternalListener-">setExternalCollisionListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/collision/CollisionSpi.html" title="interface in org.apache.ignite.spi.collision">CollisionSpi</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lsnr</code> - Listener for external collision events.</dd>
</dl>
</li>
</ul>
<a name="onCollision-org.apache.ignite.spi.collision.CollisionContext-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onCollision</h4>
<pre>public&nbsp;void&nbsp;onCollision(<a href="../../../../../../org/apache/ignite/spi/collision/CollisionContext.html" title="interface in org.apache.ignite.spi.collision">CollisionContext</a>&nbsp;ctx)</pre>
<div class="block">This is a callback called:
 <ul>
      <li>new grid job arrived</li>
      <li>executing job finished its execution</li>
      <li>topology changed</li>
     <li>periodically (on <a href="../../../../../../org/apache/ignite/events/EventType.html#EVT_NODE_METRICS_UPDATED"><code>EventType.EVT_NODE_METRICS_UPDATED</code></a>)</li>
 </ul>
 When new job arrives it is added to the end of the wait list and this
 method is called. When job finished its execution, it is removed from the active list and
 this method is called (i.e., when grid job is finished it will not appear in any list
 in collision resolution).
 <p>
 Implementation of this method should act on all lists, each of which contains collision
 job contexts that define a set of operations available during collision resolution. Refer
 to <a href="../../../../../../org/apache/ignite/spi/collision/CollisionContext.html" title="interface in org.apache.ignite.spi.collision"><code>CollisionContext</code></a> and <a href="../../../../../../org/apache/ignite/spi/collision/CollisionJobContext.html" title="interface in org.apache.ignite.spi.collision"><code>CollisionJobContext</code></a> documentation for
 more information.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/collision/CollisionSpi.html#onCollision-org.apache.ignite.spi.collision.CollisionContext-">onCollision</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/collision/CollisionSpi.html" title="interface in org.apache.ignite.spi.collision">CollisionSpi</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ctx</code> - Collision context which contains all collision lists.</dd>
</dl>
</li>
</ul>
<a name="getConsistentAttributeNames--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConsistentAttributeNames</h4>
<pre>protected&nbsp;<a href="http://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'>&lt;</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><span class='angle_bracket'>&gt;</span>&nbsp;getConsistentAttributeNames()</pre>
<div class="block">Returns back a list of attributes that should be consistent
 for this SPI. Consistency means that remote node has to
 have the same attribute with the same value.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getConsistentAttributeNames--">getConsistentAttributeNames</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List or attribute names.</dd>
</dl>
</li>
</ul>
<a name="setName-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setName</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.priorityqueue">PriorityQueueCollisionSpi</a>&nbsp;setName(<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;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>&nbsp;in class&nbsp;<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&nbsp;<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;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><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></code>&nbsp;in class&nbsp;<code><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></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/PriorityQueueCollisionSpi.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>Prev&nbsp;Class</li>
<li><a href="../../../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpiMBean.html" title="interface in org.apache.ignite.spi.collision.priorityqueue"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" target="_top">Frames</a></li>
<li><a href="PriorityQueueCollisionSpi.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><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>2019 Copyright &#169; 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>:&nbsp;&nbsp;                                                             ver. <strong>2.7.6</strong>                                                         </td>                                                     </tr>                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Release Date</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             September 11 2019                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                     </tr>                                     </table></small></p>
</body>
</html>
