<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<META NAME="ROBOTS" CONTENT="NOINDEX">
<link rel="canonical" href="https://ignite.apache.org/releases/1.0.0-rc3/javadoc/org/apache/ignite/configuration/IgniteConfiguration.html" />
<!-- Generated by javadoc (version 1.7.0_21) on Tue Mar 24 10:27:30 MSK 2015 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>IgniteConfiguration (Ignite 1.0.0-RC3)</title>
<meta name="date" content="2015-03-24">
<link rel="stylesheet" type="text/css" href="../../../../javadoc.css" title="Style">
<link rel='shortcut icon' href='http://gridgain.com/wp-content/uploads/2014/09/favicon.ico'/>
<link type='text/css' rel='stylesheet' href='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shCore.css'/>
<link type='text/css' rel='stylesheet' href='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shThemeDefault.css'/>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shCore.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shLegacy.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushJava.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushPlain.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushJScript.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushBash.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushXml.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushScala.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushGroovy.js'></script>

<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"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="IgniteConfiguration (Ignite 1.0.0-RC3)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/IgniteConfiguration.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>Apache Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html" title="class in org.apache.ignite.configuration"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/ignite/configuration/QueryConfiguration.html" title="class in org.apache.ignite.configuration"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/configuration/IgniteConfiguration.html" target="_top">Frames</a></li>
<li><a href="IgniteConfiguration.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:&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.configuration</div>
<h2 title="Class IgniteConfiguration" class="title">Class IgniteConfiguration</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/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>org.apache.ignite.configuration.IgniteConfiguration</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">IgniteConfiguration</span>
extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">This class defines grid runtime configuration. This configuration is passed to
 <a href="../../../../org/apache/ignite/Ignition.html#start(org.apache.ignite.configuration.IgniteConfiguration)"><code>Ignition.start(IgniteConfiguration)</code></a> method. It defines all configuration
 parameters required to start a grid instance. Usually, a special
 class called "loader" will create an instance of this interface and apply
 <a href="../../../../org/apache/ignite/Ignition.html#start(org.apache.ignite.configuration.IgniteConfiguration)"><code>Ignition.start(IgniteConfiguration)</code></a> method to initialize Ignite instance.
 <p>
 Note that you should only set values that differ from defaults, as grid
 will automatically pick default values for all values that are not set.
 <p>
 For more information about grid configuration and startup refer to <a href="../../../../org/apache/ignite/Ignition.html" title="class in org.apache.ignite"><code>Ignition</code></a>
 documentation.</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="overviewSummary" 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 int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#AVAILABLE_PROC_CNT">AVAILABLE_PROC_CNT</a></strong></code>
<div class="block">Default core size of public thread pool.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#COURTESY_LOGGER_NAME">COURTESY_LOGGER_NAME</a></strong></code>
<div class="block">Courtesy notice log category.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_ALL_SEG_RESOLVERS_PASS_REQ">DFLT_ALL_SEG_RESOLVERS_PASS_REQ</a></strong></code>
<div class="block">Default value for all segmentation resolvers pass required.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_CACHE_SANITY_CHECK_ENABLED">DFLT_CACHE_SANITY_CHECK_ENABLED</a></strong></code>
<div class="block">Default value for cache sanity check enabled flag.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_CLOCK_SYNC_FREQUENCY">DFLT_CLOCK_SYNC_FREQUENCY</a></strong></code>
<div class="block">Default clock synchronization frequency.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_CLOCK_SYNC_SAMPLES">DFLT_CLOCK_SYNC_SAMPLES</a></strong></code>
<div class="block">Default number of clock sync samples.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../org/apache/ignite/configuration/DeploymentMode.html" title="enum in org.apache.ignite.configuration">DeploymentMode</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_DEPLOYMENT_MODE">DFLT_DEPLOYMENT_MODE</a></strong></code>
<div class="block">Default deployment mode (value is <a href="../../../../org/apache/ignite/configuration/DeploymentMode.html#SHARED"><code>DeploymentMode.SHARED</code></a>).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_DISCOVERY_STARTUP_DELAY">DFLT_DISCOVERY_STARTUP_DELAY</a></strong></code>
<div class="block">Default discovery startup delay in milliseconds (value is <code>60,000ms</code>).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_MARSHAL_LOCAL_JOBS">DFLT_MARSHAL_LOCAL_JOBS</a></strong></code>
<div class="block">Default marshal local jobs flag.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_METRICS_EXPIRE_TIME">DFLT_METRICS_EXPIRE_TIME</a></strong></code>
<div class="block">Default metrics expire time.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_METRICS_HISTORY_SIZE">DFLT_METRICS_HISTORY_SIZE</a></strong></code>
<div class="block">Default metrics history size (value is <code>10000</code>).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_METRICS_LOG_FREQ">DFLT_METRICS_LOG_FREQ</a></strong></code>
<div class="block">Default frequency of metrics log print out.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_METRICS_UPDATE_FREQ">DFLT_METRICS_UPDATE_FREQ</a></strong></code>
<div class="block">Default metrics update frequency.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_MGMT_THREAD_CNT">DFLT_MGMT_THREAD_CNT</a></strong></code>
<div class="block">Default size of management thread pool.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_NETWORK_TIMEOUT">DFLT_NETWORK_TIMEOUT</a></strong></code>
<div class="block">Default maximum timeout to wait for network responses in milliseconds (value is <code>5,000ms</code>).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_P2P_ENABLED">DFLT_P2P_ENABLED</a></strong></code>
<div class="block">Default flag for peer class loading.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_P2P_MISSED_RESOURCES_CACHE_SIZE">DFLT_P2P_MISSED_RESOURCES_CACHE_SIZE</a></strong></code>
<div class="block">Default cache size for missed resources.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_P2P_THREAD_CNT">DFLT_P2P_THREAD_CNT</a></strong></code>
<div class="block">Default size of peer class loading thread pool.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_PUBLIC_KEEP_ALIVE_TIME">DFLT_PUBLIC_KEEP_ALIVE_TIME</a></strong></code>
<div class="block">Default keep alive time for public thread pool.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_PUBLIC_THREAD_CNT">DFLT_PUBLIC_THREAD_CNT</a></strong></code>
<div class="block">Default core size of public thread pool.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_PUBLIC_THREADPOOL_QUEUE_CAP">DFLT_PUBLIC_THREADPOOL_QUEUE_CAP</a></strong></code>
<div class="block">Default max queue capacity of public thread pool.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_SEG_CHK_FREQ">DFLT_SEG_CHK_FREQ</a></strong></code>
<div class="block">Default segment check frequency in discovery manager.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../org/apache/ignite/plugin/segmentation/GridSegmentationPolicy.html" title="enum in org.apache.ignite.plugin.segmentation">GridSegmentationPolicy</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_SEG_PLC">DFLT_SEG_PLC</a></strong></code>
<div class="block">Default segmentation policy.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_SEG_RESOLVE_ATTEMPTS">DFLT_SEG_RESOLVE_ATTEMPTS</a></strong></code>
<div class="block">Default value segmentation resolve attempts count.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_SEND_RETRY_CNT">DFLT_SEND_RETRY_CNT</a></strong></code>
<div class="block">Default message send retries count.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_SEND_RETRY_DELAY">DFLT_SEND_RETRY_DELAY</a></strong></code>
<div class="block">Default interval between message send retries.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_SYSTEM_CORE_THREAD_CNT">DFLT_SYSTEM_CORE_THREAD_CNT</a></strong></code>
<div class="block">Default size of system thread pool.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_SYSTEM_KEEP_ALIVE_TIME">DFLT_SYSTEM_KEEP_ALIVE_TIME</a></strong></code>
<div class="block">Default keep alive time for system thread pool.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_SYSTEM_MAX_THREAD_CNT">DFLT_SYSTEM_MAX_THREAD_CNT</a></strong></code>
<div class="block">Default max size of system thread pool.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_SYSTEM_THREADPOOL_QUEUE_CAP">DFLT_SYSTEM_THREADPOOL_QUEUE_CAP</a></strong></code>
<div class="block">Default max queue capacity of system thread pool.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_TCP_PORT">DFLT_TCP_PORT</a></strong></code>
<div class="block">Default TCP server port.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_TIME_SERVER_PORT_BASE">DFLT_TIME_SERVER_PORT_BASE</a></strong></code>
<div class="block">Default time server port base.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_TIME_SERVER_PORT_RANGE">DFLT_TIME_SERVER_PORT_RANGE</a></strong></code>
<div class="block">Default time server port range.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_WAIT_FOR_SEG_ON_START">DFLT_WAIT_FOR_SEG_ON_START</a></strong></code>
<div class="block">Default value for wait for segment on startup flag.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" 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><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#IgniteConfiguration()">IgniteConfiguration</a></strong>()</code>
<div class="block">Creates valid grid configuration with all default values.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#IgniteConfiguration(org.apache.ignite.configuration.IgniteConfiguration)">IgniteConfiguration</a></strong>(<a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html" title="class in org.apache.ignite.configuration">IgniteConfiguration</a>&nbsp;cfg)</code>
<div class="block">Creates grid configuration by coping all configuration properties from
 given configuration.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/configuration/AddressResolver.html" title="interface in org.apache.ignite.configuration">AddressResolver</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getAddressResolver()">getAddressResolver</a></strong>()</code>
<div class="block">Gets address resolver for addresses mapping determination.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/configuration/AtomicConfiguration.html" title="class in org.apache.ignite.configuration">AtomicConfiguration</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getAtomicConfiguration()">getAtomicConfiguration</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="class in org.apache.ignite.configuration">CacheConfiguration</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getCacheConfiguration()">getCacheConfiguration</a></strong>()</code>
<div class="block">Gets configuration (descriptors) for all caches.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/spi/checkpoint/CheckpointSpi.html" title="interface in org.apache.ignite.spi.checkpoint">CheckpointSpi</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getCheckpointSpi()">getCheckpointSpi</a></strong>()</code>
<div class="block">Should return fully configured checkpoint SPI implementation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getClassLoader()">getClassLoader</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getClockSyncFrequency()">getClockSyncFrequency</a></strong>()</code>
<div class="block">Gets frequency at which clock is synchronized between nodes, in milliseconds.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getClockSyncSamples()">getClockSyncSamples</a></strong>()</code>
<div class="block">Gets number of samples used to synchronize clocks between different nodes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/spi/collision/CollisionSpi.html" title="interface in org.apache.ignite.spi.collision">CollisionSpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getCollisionSpi()">getCollisionSpi</a></strong>()</code>
<div class="block">Should return fully configured collision SPI implementation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication">CommunicationSpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getCommunicationSpi()">getCommunicationSpi</a></strong>()</code>
<div class="block">Should return fully configured SPI communication  implementation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/configuration/ConnectorConfiguration.html" title="class in org.apache.ignite.configuration">ConnectorConfiguration</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getConnectorConfiguration()">getConnectorConfiguration</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/configuration/DeploymentMode.html" title="enum in org.apache.ignite.configuration">DeploymentMode</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getDeploymentMode()">getDeploymentMode</a></strong>()</code>
<div class="block">Gets deployment mode for deploying tasks and other classes on this node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html" title="interface in org.apache.ignite.spi.deployment">DeploymentSpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getDeploymentSpi()">getDeploymentSpi</a></strong>()</code>
<div class="block">Should return fully configured deployment SPI implementation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getDiscoverySpi()">getDiscoverySpi</a></strong>()</code>
<div class="block">Should return fully configured discovery SPI implementation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getDiscoveryStartupDelay()">getDiscoveryStartupDelay</a></strong>()</code>
<div class="block">This value is used to expire messages from waiting list whenever node
 discovery discrepancies happen.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/spi/eventstorage/EventStorageSpi.html" title="interface in org.apache.ignite.spi.eventstorage">EventStorageSpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getEventStorageSpi()">getEventStorageSpi</a></strong>()</code>
<div class="block">Should return fully configured event SPI implementation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/spi/failover/FailoverSpi.html" title="interface in org.apache.ignite.spi.failover">FailoverSpi</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getFailoverSpi()">getFailoverSpi</a></strong>()</code>
<div class="block">Should return fully configured failover SPI implementation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/configuration/FileSystemConfiguration.html" title="class in org.apache.ignite.configuration">FileSystemConfiguration</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getFileSystemConfiguration()">getFileSystemConfiguration</a></strong>()</code>
<div class="block">Gets IGFS (Ignite In-Memory File System) configurations.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/IgniteLogger.html" title="interface in org.apache.ignite">IgniteLogger</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getGridLogger()">getGridLogger</a></strong>()</code>
<div class="block">Should return an instance of logger to use in grid.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getGridName()">getGridName</a></strong>()</code>
<div class="block">Gets optional grid name.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html" title="class in org.apache.ignite.configuration">HadoopConfiguration</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getHadoopConfiguration()">getHadoopConfiguration</a></strong>()</code>
<div class="block">Gets hadoop configuration.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getIgfsThreadPoolSize()">getIgfsThreadPoolSize</a></strong>()</code>
<div class="block">Size of thread pool that is in charge of processing outgoing IGFS messages.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getIgniteHome()">getIgniteHome</a></strong>()</code>
<div class="block">Should return Ignite installation home folder.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int[]</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getIncludeEventTypes()">getIncludeEventTypes</a></strong>()</code>
<div class="block">Gets array of event types, which will be recorded.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getIncludeProperties()">getIncludeProperties</a></strong>()</code>
<div class="block">Gets array of system or environment properties to include into node attributes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/spi/indexing/IndexingSpi.html" title="interface in org.apache.ignite.spi.indexing">IndexingSpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getIndexingSpi()">getIndexingSpi</a></strong>()</code>
<div class="block">Should return fully configured indexing SPI implementations.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/lifecycle/LifecycleBean.html" title="interface in org.apache.ignite.lifecycle">LifecycleBean</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getLifecycleBeans()">getLifecycleBeans</a></strong>()</code>
<div class="block">Returns a collection of life-cycle beans.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/spi/loadbalancing/LoadBalancingSpi.html" title="interface in org.apache.ignite.spi.loadbalancing">LoadBalancingSpi</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getLoadBalancingSpi()">getLoadBalancingSpi</a></strong>()</code>
<div class="block">Should return fully configured load balancing SPI implementation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/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="../../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>? extends <a href="../../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span>,int[]<span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getLocalEventListeners()">getLocalEventListeners</a></strong>()</code>
<div class="block">Gets map of pre-configured local event listeners.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getLocalHost()">getLocalHost</a></strong>()</code>
<div class="block">Gets system-wide local address or host for all Ignite components to bind to.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getManagementThreadPoolSize()">getManagementThreadPoolSize</a></strong>()</code>
<div class="block">Size of thread pool that is in charge of processing internal and Visor
 <a href="../../../../org/apache/ignite/compute/ComputeJob.html" title="interface in org.apache.ignite.compute"><code>GridJobs</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/marshaller/Marshaller.html" title="interface in org.apache.ignite.marshaller">Marshaller</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMarshaller()">getMarshaller</a></strong>()</code>
<div class="block">Should return an instance of marshaller to use in grid.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/javax/management/MBeanServer.html?is-external=true" title="class or interface in javax.management">MBeanServer</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMBeanServer()">getMBeanServer</a></strong>()</code>
<div class="block">Should return MBean server instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsExpireTime()">getMetricsExpireTime</a></strong>()</code>
<div class="block">Elapsed time in milliseconds after which node metrics are considered expired.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsHistorySize()">getMetricsHistorySize</a></strong>()</code>
<div class="block">Number of node metrics to keep in memory to calculate totals and averages.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsLogFrequency()">getMetricsLogFrequency</a></strong>()</code>
<div class="block">Gets frequency of metrics log print out.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsUpdateFrequency()">getMetricsUpdateFrequency</a></strong>()</code>
<div class="block">Gets job metrics update frequency in milliseconds.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getNetworkSendRetryCount()">getNetworkSendRetryCount</a></strong>()</code>
<div class="block">Message send retries count.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getNetworkSendRetryDelay()">getNetworkSendRetryDelay</a></strong>()</code>
<div class="block">Interval in milliseconds between message send retries.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getNetworkTimeout()">getNetworkTimeout</a></strong>()</code>
<div class="block">Maximum timeout in milliseconds for network requests.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getNodeId()">getNodeId</a></strong>()</code>
<div class="block">Unique identifier for this node within grid.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getPeerClassLoadingLocalClassPathExclude()">getPeerClassLoadingLocalClassPathExclude</a></strong>()</code>
<div class="block">Should return list of packages from the system classpath that need to
 be peer-to-peer loaded from task originating node.
 '*' is supported at the end of the package name which means
 that all sub-packages and their classes are included like in Java
 package import clause.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getPeerClassLoadingMissedResourcesCacheSize()">getPeerClassLoadingMissedResourcesCacheSize</a></strong>()</code>
<div class="block">Returns missed resources cache size.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getPeerClassLoadingThreadPoolSize()">getPeerClassLoadingThreadPoolSize</a></strong>()</code>
<div class="block">Size of thread pool which  is in charge of peer class loading requests/responses.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/plugin/PluginConfiguration.html" title="interface in org.apache.ignite.plugin">PluginConfiguration</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getPluginConfigurations()">getPluginConfigurations</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getPublicThreadPoolSize()">getPublicThreadPoolSize</a></strong>()</code>
<div class="block">Should return a thread pool size to be used in grid.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/configuration/QueryConfiguration.html" title="class in org.apache.ignite.configuration">QueryConfiguration</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getQueryConfiguration()">getQueryConfiguration</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/plugin/segmentation/GridSegmentationPolicy.html" title="enum in org.apache.ignite.plugin.segmentation">GridSegmentationPolicy</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getSegmentationPolicy()">getSegmentationPolicy</a></strong>()</code>
<div class="block">Returns segmentation policy.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getSegmentationResolveAttempts()">getSegmentationResolveAttempts</a></strong>()</code>
<div class="block">Gets segmentation resolve attempts.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/plugin/segmentation/GridSegmentationResolver.html" title="interface in org.apache.ignite.plugin.segmentation">GridSegmentationResolver</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getSegmentationResolvers()">getSegmentationResolvers</a></strong>()</code>
<div class="block">Returns a collection of segmentation resolvers.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getSegmentCheckFrequency()">getSegmentCheckFrequency</a></strong>()</code>
<div class="block">Returns frequency of network segment check by discovery manager.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/services/ServiceConfiguration.html" title="class in org.apache.ignite.services">ServiceConfiguration</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getServiceConfiguration()">getServiceConfiguration</a></strong>()</code>
<div class="block">Gets configurations for services to be deployed on the grid.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/streamer/StreamerConfiguration.html" title="class in org.apache.ignite.streamer">StreamerConfiguration</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getStreamerConfiguration()">getStreamerConfiguration</a></strong>()</code>
<div class="block">Gets streamers configurations.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/spi/swapspace/SwapSpaceSpi.html" title="interface in org.apache.ignite.spi.swapspace">SwapSpaceSpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getSwapSpaceSpi()">getSwapSpaceSpi</a></strong>()</code>
<div class="block">Should return fully configured swap space SPI implementation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getSystemThreadPoolSize()">getSystemThreadPoolSize</a></strong>()</code>
<div class="block">Size of thread pool that is in charge of processing internal system messages.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getTimeServerPortBase()">getTimeServerPortBase</a></strong>()</code>
<div class="block">Gets base UPD port number for grid time server.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getTimeServerPortRange()">getTimeServerPortRange</a></strong>()</code>
<div class="block">Defines port range to try for time server start.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/configuration/TransactionConfiguration.html" title="class in org.apache.ignite.configuration">TransactionConfiguration</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getTransactionConfiguration()">getTransactionConfiguration</a></strong>()</code>
<div class="block">Gets transactions configuration.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/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/7/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><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getUserAttributes()">getUserAttributes</a></strong>()</code>
<div class="block">Should return any user-defined attributes to be added to this node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html" title="class in org.apache.ignite.configuration">IgniteConfiguration</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getWarmupClosure()">getWarmupClosure</a></strong>()</code>
<div class="block">Gets grid warmup closure.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getWorkDirectory()">getWorkDirectory</a></strong>()</code>
<div class="block">Gets Ignite work folder.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#isAllSegmentationResolversPassRequired()">isAllSegmentationResolversPassRequired</a></strong>()</code>
<div class="block">Gets all segmentation resolvers pass required flag.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#isCacheSanityCheckEnabled()">isCacheSanityCheckEnabled</a></strong>()</code>
<div class="block">Gets flag indicating whether cache sanity check is enabled.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#isDaemon()">isDaemon</a></strong>()</code>
<div class="block">Whether or not this node should be a daemon node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#isMarshalLocalJobs()">isMarshalLocalJobs</a></strong>()</code>
<div class="block">If this flag is set to <code>true</code>, jobs mapped to local node will be
 marshalled as if it was remote node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#isPeerClassLoadingEnabled()">isPeerClassLoadingEnabled</a></strong>()</code>
<div class="block">Returns <code>true</code> if peer class loading is enabled, <code>false</code>
 otherwise.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#isWaitForSegmentOnStart()">isWaitForSegmentOnStart</a></strong>()</code>
<div class="block">Gets wait for segment on startup flag.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setAddressResolver(org.apache.ignite.configuration.AddressResolver)">setAddressResolver</a></strong>(<a href="../../../../org/apache/ignite/configuration/AddressResolver.html" title="interface in org.apache.ignite.configuration">AddressResolver</a>&nbsp;addrRslvr)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setAllSegmentationResolversPassRequired(boolean)">setAllSegmentationResolversPassRequired</a></strong>(boolean&nbsp;allResolversPassReq)</code>
<div class="block">Sets all segmentation resolvers pass required flag.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setAtomicConfiguration(org.apache.ignite.configuration.AtomicConfiguration)">setAtomicConfiguration</a></strong>(<a href="../../../../org/apache/ignite/configuration/AtomicConfiguration.html" title="class in org.apache.ignite.configuration">AtomicConfiguration</a>&nbsp;atomicCfg)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setCacheConfiguration(org.apache.ignite.configuration.CacheConfiguration...)">setCacheConfiguration</a></strong>(<a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="class in org.apache.ignite.configuration">CacheConfiguration</a>...&nbsp;cacheCfg)</code>
<div class="block">Sets cache configurations.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setCacheSanityCheckEnabled(boolean)">setCacheSanityCheckEnabled</a></strong>(boolean&nbsp;cacheSanityCheckEnabled)</code>
<div class="block">Sets cache sanity check flag.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setCheckpointSpi(org.apache.ignite.spi.checkpoint.CheckpointSpi...)">setCheckpointSpi</a></strong>(<a href="../../../../org/apache/ignite/spi/checkpoint/CheckpointSpi.html" title="interface in org.apache.ignite.spi.checkpoint">CheckpointSpi</a>...&nbsp;cpSpi)</code>
<div class="block">Sets fully configured instance of <a href="../../../../org/apache/ignite/spi/checkpoint/CheckpointSpi.html" title="interface in org.apache.ignite.spi.checkpoint"><code>CheckpointSpi</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setClassLoader(java.lang.ClassLoader)">setClassLoader</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;classLdr)</code>
<div class="block">Sets loader which will be used for instantiating execution context (<code>EntryProcessors</code>,
 <code>CacheEntryListeners</code>, <code>CacheLoaders</code> and
 <code>ExpiryPolicys</code>).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setClockSyncFrequency(long)">setClockSyncFrequency</a></strong>(long&nbsp;clockSyncFreq)</code>
<div class="block">Sets clock synchronization frequency in milliseconds.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setClockSyncSamples(int)">setClockSyncSamples</a></strong>(int&nbsp;clockSyncSamples)</code>
<div class="block">Sets number of samples used for clock synchronization.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setCollisionSpi(org.apache.ignite.spi.collision.CollisionSpi)">setCollisionSpi</a></strong>(<a href="../../../../org/apache/ignite/spi/collision/CollisionSpi.html" title="interface in org.apache.ignite.spi.collision">CollisionSpi</a>&nbsp;colSpi)</code>
<div class="block">Sets fully configured instance of <a href="../../../../org/apache/ignite/spi/collision/CollisionSpi.html" title="interface in org.apache.ignite.spi.collision"><code>CollisionSpi</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setCommunicationSpi(org.apache.ignite.spi.communication.CommunicationSpi)">setCommunicationSpi</a></strong>(<a href="../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication">CommunicationSpi</a>&nbsp;commSpi)</code>
<div class="block">Sets fully configured instance of <a href="../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication"><code>CommunicationSpi</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setConnectorConfiguration(org.apache.ignite.configuration.ConnectorConfiguration)">setConnectorConfiguration</a></strong>(<a href="../../../../org/apache/ignite/configuration/ConnectorConfiguration.html" title="class in org.apache.ignite.configuration">ConnectorConfiguration</a>&nbsp;connectorCfg)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setDaemon(boolean)">setDaemon</a></strong>(boolean&nbsp;daemon)</code>
<div class="block">Sets daemon flag.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setDeploymentMode(org.apache.ignite.configuration.DeploymentMode)">setDeploymentMode</a></strong>(<a href="../../../../org/apache/ignite/configuration/DeploymentMode.html" title="enum in org.apache.ignite.configuration">DeploymentMode</a>&nbsp;deployMode)</code>
<div class="block">Sets task classes and resources sharing mode.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setDeploymentSpi(org.apache.ignite.spi.deployment.DeploymentSpi)">setDeploymentSpi</a></strong>(<a href="../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html" title="interface in org.apache.ignite.spi.deployment">DeploymentSpi</a>&nbsp;deploySpi)</code>
<div class="block">Sets fully configured instance of <a href="../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html" title="interface in org.apache.ignite.spi.deployment"><code>DeploymentSpi</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setDiscoverySpi(org.apache.ignite.spi.discovery.DiscoverySpi)">setDiscoverySpi</a></strong>(<a href="../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a>&nbsp;discoSpi)</code>
<div class="block">Sets fully configured instance of <a href="../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery"><code>DiscoverySpi</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setDiscoveryStartupDelay(long)">setDiscoveryStartupDelay</a></strong>(long&nbsp;discoStartupDelay)</code>
<div class="block">Sets time in milliseconds after which a certain metric value is considered expired.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setEventStorageSpi(org.apache.ignite.spi.eventstorage.EventStorageSpi)">setEventStorageSpi</a></strong>(<a href="../../../../org/apache/ignite/spi/eventstorage/EventStorageSpi.html" title="interface in org.apache.ignite.spi.eventstorage">EventStorageSpi</a>&nbsp;evtSpi)</code>
<div class="block">Sets fully configured instance of <a href="../../../../org/apache/ignite/spi/eventstorage/EventStorageSpi.html" title="interface in org.apache.ignite.spi.eventstorage"><code>EventStorageSpi</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setFailoverSpi(org.apache.ignite.spi.failover.FailoverSpi...)">setFailoverSpi</a></strong>(<a href="../../../../org/apache/ignite/spi/failover/FailoverSpi.html" title="interface in org.apache.ignite.spi.failover">FailoverSpi</a>...&nbsp;failSpi)</code>
<div class="block">Sets fully configured instance of <a href="../../../../org/apache/ignite/spi/failover/FailoverSpi.html" title="interface in org.apache.ignite.spi.failover"><code>FailoverSpi</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setFileSystemConfiguration(org.apache.ignite.configuration.FileSystemConfiguration...)">setFileSystemConfiguration</a></strong>(<a href="../../../../org/apache/ignite/configuration/FileSystemConfiguration.html" title="class in org.apache.ignite.configuration">FileSystemConfiguration</a>...&nbsp;igfsCfg)</code>
<div class="block">Sets IGFS (Ignite In-Memory File System) configurations.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setGridLogger(org.apache.ignite.IgniteLogger)">setGridLogger</a></strong>(<a href="../../../../org/apache/ignite/IgniteLogger.html" title="interface in org.apache.ignite">IgniteLogger</a>&nbsp;log)</code>
<div class="block">Sets logger to use within grid.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setGridName(java.lang.String)">setGridName</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;gridName)</code>
<div class="block">Sets grid name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setHadoopConfiguration(org.apache.ignite.configuration.HadoopConfiguration)">setHadoopConfiguration</a></strong>(<a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html" title="class in org.apache.ignite.configuration">HadoopConfiguration</a>&nbsp;hadoopCfg)</code>
<div class="block">Sets hadoop configuration.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setIgfsThreadPoolSize(int)">setIgfsThreadPoolSize</a></strong>(int&nbsp;poolSize)</code>
<div class="block">Set thread pool size that will be used to process outgoing IGFS messages.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setIgniteHome(java.lang.String)">setIgniteHome</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ggHome)</code>
<div class="block">Sets Ignite installation folder.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setIncludeEventTypes(int...)">setIncludeEventTypes</a></strong>(int...&nbsp;inclEvtTypes)</code>
<div class="block">Sets array of event types, which will be recorded by <code>GridEventStorageManager.record(org.apache.ignite.events.Event)</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setIncludeProperties(java.lang.String...)">setIncludeProperties</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;includeProps)</code>
<div class="block">Sets array of system or environment property names to include into node attributes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setIndexingSpi(org.apache.ignite.spi.indexing.IndexingSpi)">setIndexingSpi</a></strong>(<a href="../../../../org/apache/ignite/spi/indexing/IndexingSpi.html" title="interface in org.apache.ignite.spi.indexing">IndexingSpi</a>&nbsp;indexingSpi)</code>
<div class="block">Sets fully configured instances of <a href="../../../../org/apache/ignite/spi/indexing/IndexingSpi.html" title="interface in org.apache.ignite.spi.indexing"><code>IndexingSpi</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setLifecycleBeans(org.apache.ignite.lifecycle.LifecycleBean...)">setLifecycleBeans</a></strong>(<a href="../../../../org/apache/ignite/lifecycle/LifecycleBean.html" title="interface in org.apache.ignite.lifecycle">LifecycleBean</a>...&nbsp;lifecycleBeans)</code>
<div class="block">Sets a collection of lifecycle beans.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setLoadBalancingSpi(org.apache.ignite.spi.loadbalancing.LoadBalancingSpi...)">setLoadBalancingSpi</a></strong>(<a href="../../../../org/apache/ignite/spi/loadbalancing/LoadBalancingSpi.html" title="interface in org.apache.ignite.spi.loadbalancing">LoadBalancingSpi</a>...&nbsp;loadBalancingSpi)</code>
<div class="block">Sets fully configured instance of <a href="../../../../org/apache/ignite/spi/loadbalancing/LoadBalancingSpi.html" title="interface in org.apache.ignite.spi.loadbalancing"><code>LoadBalancingSpi</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setLocalEventListeners(java.util.Map)">setLocalEventListeners</a></strong>(<a href="http://docs.oracle.com/javase/7/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="../../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>? extends <a href="../../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span>,int[]<span class='angle_bracket'>&gt;</span>&nbsp;lsnrs)</code>
<div class="block">Sets map of pre-configured local event listeners.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setLocalHost(java.lang.String)">setLocalHost</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;locHost)</code>
<div class="block">Sets system-wide local address or host for all Ignite components to bind to.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setManagementThreadPoolSize(int)">setManagementThreadPoolSize</a></strong>(int&nbsp;poolSize)</code>
<div class="block">Sets management thread pool size to use within grid.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setMarshaller(org.apache.ignite.marshaller.Marshaller)">setMarshaller</a></strong>(<a href="../../../../org/apache/ignite/marshaller/Marshaller.html" title="interface in org.apache.ignite.marshaller">Marshaller</a>&nbsp;marsh)</code>
<div class="block">Sets marshaller to use within grid.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setMarshalLocalJobs(boolean)">setMarshalLocalJobs</a></strong>(boolean&nbsp;marshLocJobs)</code>
<div class="block">Sets marshal local jobs flag.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setMBeanServer(javax.management.MBeanServer)">setMBeanServer</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/javax/management/MBeanServer.html?is-external=true" title="class or interface in javax.management">MBeanServer</a>&nbsp;mbeanSrv)</code>
<div class="block">Sets initialized and started MBean server.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setMetricsExpireTime(long)">setMetricsExpireTime</a></strong>(long&nbsp;metricsExpTime)</code>
<div class="block">Sets time in milliseconds after which a certain metric value is considered expired.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setMetricsHistorySize(int)">setMetricsHistorySize</a></strong>(int&nbsp;metricsHistSize)</code>
<div class="block">Sets number of metrics kept in history to compute totals and averages.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setMetricsLogFrequency(long)">setMetricsLogFrequency</a></strong>(long&nbsp;metricsLogFreq)</code>
<div class="block">Sets frequency of metrics log print out.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setMetricsUpdateFrequency(long)">setMetricsUpdateFrequency</a></strong>(long&nbsp;metricsUpdateFreq)</code>
<div class="block">Sets job metrics update frequency in milliseconds.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setNetworkSendRetryCount(int)">setNetworkSendRetryCount</a></strong>(int&nbsp;sndRetryCnt)</code>
<div class="block">Sets message send retries count.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setNetworkSendRetryDelay(long)">setNetworkSendRetryDelay</a></strong>(long&nbsp;sndRetryDelay)</code>
<div class="block">Sets interval in milliseconds between message send retries.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setNetworkTimeout(long)">setNetworkTimeout</a></strong>(long&nbsp;netTimeout)</code>
<div class="block">Maximum timeout in milliseconds for network requests.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setNodeId(java.util.UUID)">setNodeId</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId)</code>
<div class="block">Sets unique identifier for local node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setPeerClassLoadingEnabled(boolean)">setPeerClassLoadingEnabled</a></strong>(boolean&nbsp;p2pEnabled)</code>
<div class="block">Enables/disables peer class loading.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setPeerClassLoadingLocalClassPathExclude(java.lang.String...)">setPeerClassLoadingLocalClassPathExclude</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;p2pLocClsPathExcl)</code>
<div class="block">Sets list of packages in a system class path that should be P2P
 loaded even if they exist locally.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setPeerClassLoadingMissedResourcesCacheSize(int)">setPeerClassLoadingMissedResourcesCacheSize</a></strong>(int&nbsp;p2pMissedCacheSize)</code>
<div class="block">Sets size of missed resources cache.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setPeerClassLoadingThreadPoolSize(int)">setPeerClassLoadingThreadPoolSize</a></strong>(int&nbsp;poolSize)</code>
<div class="block">Sets thread pool size to use for peer class loading.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setPluginConfigurations(org.apache.ignite.plugin.PluginConfiguration...)">setPluginConfigurations</a></strong>(<a href="../../../../org/apache/ignite/plugin/PluginConfiguration.html" title="interface in org.apache.ignite.plugin">PluginConfiguration</a>...&nbsp;pluginCfgs)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setPublicThreadPoolSize(int)">setPublicThreadPoolSize</a></strong>(int&nbsp;poolSize)</code>
<div class="block">Sets thread pool size to use within grid.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setQueryConfiguration(org.apache.ignite.configuration.QueryConfiguration)">setQueryConfiguration</a></strong>(<a href="../../../../org/apache/ignite/configuration/QueryConfiguration.html" title="class in org.apache.ignite.configuration">QueryConfiguration</a>&nbsp;qryCfg)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setSegmentationPolicy(org.apache.ignite.plugin.segmentation.GridSegmentationPolicy)">setSegmentationPolicy</a></strong>(<a href="../../../../org/apache/ignite/plugin/segmentation/GridSegmentationPolicy.html" title="enum in org.apache.ignite.plugin.segmentation">GridSegmentationPolicy</a>&nbsp;segPlc)</code>
<div class="block">Sets segmentation policy.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setSegmentationResolveAttempts(int)">setSegmentationResolveAttempts</a></strong>(int&nbsp;segResolveAttempts)</code>
<div class="block">Sets segmentation resolve attempts count.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setSegmentationResolvers(org.apache.ignite.plugin.segmentation.GridSegmentationResolver...)">setSegmentationResolvers</a></strong>(<a href="../../../../org/apache/ignite/plugin/segmentation/GridSegmentationResolver.html" title="interface in org.apache.ignite.plugin.segmentation">GridSegmentationResolver</a>...&nbsp;segResolvers)</code>
<div class="block">Sets segmentation resolvers.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setSegmentCheckFrequency(long)">setSegmentCheckFrequency</a></strong>(long&nbsp;segChkFreq)</code>
<div class="block">Sets network segment check frequency.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setServiceConfiguration(org.apache.ignite.services.ServiceConfiguration...)">setServiceConfiguration</a></strong>(<a href="../../../../org/apache/ignite/services/ServiceConfiguration.html" title="class in org.apache.ignite.services">ServiceConfiguration</a>...&nbsp;svcCfgs)</code>
<div class="block">Sets configurations for services to be deployed on the grid.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setStreamerConfiguration(org.apache.ignite.streamer.StreamerConfiguration...)">setStreamerConfiguration</a></strong>(<a href="../../../../org/apache/ignite/streamer/StreamerConfiguration.html" title="class in org.apache.ignite.streamer">StreamerConfiguration</a>...&nbsp;streamerCfg)</code>
<div class="block">Sets streamer configuration.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setSwapSpaceSpi(org.apache.ignite.spi.swapspace.SwapSpaceSpi)">setSwapSpaceSpi</a></strong>(<a href="../../../../org/apache/ignite/spi/swapspace/SwapSpaceSpi.html" title="interface in org.apache.ignite.spi.swapspace">SwapSpaceSpi</a>&nbsp;swapSpaceSpi)</code>
<div class="block">Sets fully configured instances of <a href="../../../../org/apache/ignite/spi/swapspace/SwapSpaceSpi.html" title="interface in org.apache.ignite.spi.swapspace"><code>SwapSpaceSpi</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setSystemThreadPoolSize(int)">setSystemThreadPoolSize</a></strong>(int&nbsp;poolSize)</code>
<div class="block">Sets system thread pool size to use within grid.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setTimeServerPortBase(int)">setTimeServerPortBase</a></strong>(int&nbsp;timeSrvPortBase)</code>
<div class="block">Sets time server port base.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setTimeServerPortRange(int)">setTimeServerPortRange</a></strong>(int&nbsp;timeSrvPortRange)</code>
<div class="block">Sets time server port range.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setTransactionConfiguration(org.apache.ignite.configuration.TransactionConfiguration)">setTransactionConfiguration</a></strong>(<a href="../../../../org/apache/ignite/configuration/TransactionConfiguration.html" title="class in org.apache.ignite.configuration">TransactionConfiguration</a>&nbsp;txCfg)</code>
<div class="block">Sets transactions configuration.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setUserAttributes(java.util.Map)">setUserAttributes</a></strong>(<a href="http://docs.oracle.com/javase/7/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/7/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;userAttrs)</code>
<div class="block">Sets user attributes for this node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setWaitForSegmentOnStart(boolean)">setWaitForSegmentOnStart</a></strong>(boolean&nbsp;waitForSegOnStart)</code>
<div class="block">Sets wait for segment on start flag.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setWarmupClosure(org.apache.ignite.lang.IgniteInClosure)">setWarmupClosure</a></strong>(<a href="../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html" title="class in org.apache.ignite.configuration">IgniteConfiguration</a><span class='angle_bracket'>&gt;</span>&nbsp;warmupClos)</code>
<div class="block">Sets warmup closure to execute before grid startup.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setWorkDirectory(java.lang.String)">setWorkDirectory</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ggWork)</code>
<div class="block">Sets Ignite work folder.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#toString()">toString</a></strong>()</code></td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="COURTESY_LOGGER_NAME">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>COURTESY_LOGGER_NAME</h4>
<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COURTESY_LOGGER_NAME</pre>
<div class="block">Courtesy notice log category.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.COURTESY_LOGGER_NAME">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_P2P_ENABLED">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_P2P_ENABLED</h4>
<pre>public static final&nbsp;boolean DFLT_P2P_ENABLED</pre>
<div class="block">Default flag for peer class loading. By default the value is <code>false</code>
 which means that peer class loading is disabled.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_P2P_ENABLED">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_METRICS_HISTORY_SIZE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_METRICS_HISTORY_SIZE</h4>
<pre>public static final&nbsp;int DFLT_METRICS_HISTORY_SIZE</pre>
<div class="block">Default metrics history size (value is <code>10000</code>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_METRICS_HISTORY_SIZE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_METRICS_UPDATE_FREQ">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_METRICS_UPDATE_FREQ</h4>
<pre>public static final&nbsp;long DFLT_METRICS_UPDATE_FREQ</pre>
<div class="block">Default metrics update frequency.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_METRICS_UPDATE_FREQ">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_METRICS_EXPIRE_TIME">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_METRICS_EXPIRE_TIME</h4>
<pre>public static final&nbsp;long DFLT_METRICS_EXPIRE_TIME</pre>
<div class="block">Default metrics expire time. The value is <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true#MAX_VALUE" title="class or interface in java.lang"><code>Long.MAX_VALUE</code></a> which
 means that metrics never expire.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_METRICS_EXPIRE_TIME">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_NETWORK_TIMEOUT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_NETWORK_TIMEOUT</h4>
<pre>public static final&nbsp;long DFLT_NETWORK_TIMEOUT</pre>
<div class="block">Default maximum timeout to wait for network responses in milliseconds (value is <code>5,000ms</code>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_NETWORK_TIMEOUT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_SEND_RETRY_DELAY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_SEND_RETRY_DELAY</h4>
<pre>public static final&nbsp;long DFLT_SEND_RETRY_DELAY</pre>
<div class="block">Default interval between message send retries.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_SEND_RETRY_DELAY">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_SEND_RETRY_CNT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_SEND_RETRY_CNT</h4>
<pre>public static final&nbsp;int DFLT_SEND_RETRY_CNT</pre>
<div class="block">Default message send retries count.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_SEND_RETRY_CNT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_CLOCK_SYNC_SAMPLES">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_CLOCK_SYNC_SAMPLES</h4>
<pre>public static final&nbsp;int DFLT_CLOCK_SYNC_SAMPLES</pre>
<div class="block">Default number of clock sync samples.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_CLOCK_SYNC_SAMPLES">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_CLOCK_SYNC_FREQUENCY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_CLOCK_SYNC_FREQUENCY</h4>
<pre>public static final&nbsp;int DFLT_CLOCK_SYNC_FREQUENCY</pre>
<div class="block">Default clock synchronization frequency.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_CLOCK_SYNC_FREQUENCY">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_DISCOVERY_STARTUP_DELAY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_DISCOVERY_STARTUP_DELAY</h4>
<pre>public static final&nbsp;long DFLT_DISCOVERY_STARTUP_DELAY</pre>
<div class="block">Default discovery startup delay in milliseconds (value is <code>60,000ms</code>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_DISCOVERY_STARTUP_DELAY">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_DEPLOYMENT_MODE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_DEPLOYMENT_MODE</h4>
<pre>public static final&nbsp;<a href="../../../../org/apache/ignite/configuration/DeploymentMode.html" title="enum in org.apache.ignite.configuration">DeploymentMode</a> DFLT_DEPLOYMENT_MODE</pre>
<div class="block">Default deployment mode (value is <a href="../../../../org/apache/ignite/configuration/DeploymentMode.html#SHARED"><code>DeploymentMode.SHARED</code></a>).</div>
</li>
</ul>
<a name="DFLT_P2P_MISSED_RESOURCES_CACHE_SIZE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_P2P_MISSED_RESOURCES_CACHE_SIZE</h4>
<pre>public static final&nbsp;int DFLT_P2P_MISSED_RESOURCES_CACHE_SIZE</pre>
<div class="block">Default cache size for missed resources.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_P2P_MISSED_RESOURCES_CACHE_SIZE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_TIME_SERVER_PORT_BASE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_TIME_SERVER_PORT_BASE</h4>
<pre>public static final&nbsp;int DFLT_TIME_SERVER_PORT_BASE</pre>
<div class="block">Default time server port base.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_TIME_SERVER_PORT_BASE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_TIME_SERVER_PORT_RANGE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_TIME_SERVER_PORT_RANGE</h4>
<pre>public static final&nbsp;int DFLT_TIME_SERVER_PORT_RANGE</pre>
<div class="block">Default time server port range.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_TIME_SERVER_PORT_RANGE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="AVAILABLE_PROC_CNT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AVAILABLE_PROC_CNT</h4>
<pre>public static final&nbsp;int AVAILABLE_PROC_CNT</pre>
<div class="block">Default core size of public thread pool.</div>
</li>
</ul>
<a name="DFLT_PUBLIC_THREAD_CNT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_PUBLIC_THREAD_CNT</h4>
<pre>public static final&nbsp;int DFLT_PUBLIC_THREAD_CNT</pre>
<div class="block">Default core size of public thread pool.</div>
</li>
</ul>
<a name="DFLT_PUBLIC_KEEP_ALIVE_TIME">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_PUBLIC_KEEP_ALIVE_TIME</h4>
<pre>public static final&nbsp;long DFLT_PUBLIC_KEEP_ALIVE_TIME</pre>
<div class="block">Default keep alive time for public thread pool.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_PUBLIC_KEEP_ALIVE_TIME">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_PUBLIC_THREADPOOL_QUEUE_CAP">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_PUBLIC_THREADPOOL_QUEUE_CAP</h4>
<pre>public static final&nbsp;int DFLT_PUBLIC_THREADPOOL_QUEUE_CAP</pre>
<div class="block">Default max queue capacity of public thread pool.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_PUBLIC_THREADPOOL_QUEUE_CAP">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_SYSTEM_CORE_THREAD_CNT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_SYSTEM_CORE_THREAD_CNT</h4>
<pre>public static final&nbsp;int DFLT_SYSTEM_CORE_THREAD_CNT</pre>
<div class="block">Default size of system thread pool.</div>
</li>
</ul>
<a name="DFLT_SYSTEM_MAX_THREAD_CNT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_SYSTEM_MAX_THREAD_CNT</h4>
<pre>public static final&nbsp;int DFLT_SYSTEM_MAX_THREAD_CNT</pre>
<div class="block">Default max size of system thread pool.</div>
</li>
</ul>
<a name="DFLT_SYSTEM_KEEP_ALIVE_TIME">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_SYSTEM_KEEP_ALIVE_TIME</h4>
<pre>public static final&nbsp;long DFLT_SYSTEM_KEEP_ALIVE_TIME</pre>
<div class="block">Default keep alive time for system thread pool.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_SYSTEM_KEEP_ALIVE_TIME">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_SYSTEM_THREADPOOL_QUEUE_CAP">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_SYSTEM_THREADPOOL_QUEUE_CAP</h4>
<pre>public static final&nbsp;int DFLT_SYSTEM_THREADPOOL_QUEUE_CAP</pre>
<div class="block">Default max queue capacity of system thread pool.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_SYSTEM_THREADPOOL_QUEUE_CAP">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_P2P_THREAD_CNT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_P2P_THREAD_CNT</h4>
<pre>public static final&nbsp;int DFLT_P2P_THREAD_CNT</pre>
<div class="block">Default size of peer class loading thread pool.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_P2P_THREAD_CNT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_MGMT_THREAD_CNT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MGMT_THREAD_CNT</h4>
<pre>public static final&nbsp;int DFLT_MGMT_THREAD_CNT</pre>
<div class="block">Default size of management thread pool.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_MGMT_THREAD_CNT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_SEG_PLC">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_SEG_PLC</h4>
<pre>public static final&nbsp;<a href="../../../../org/apache/ignite/plugin/segmentation/GridSegmentationPolicy.html" title="enum in org.apache.ignite.plugin.segmentation">GridSegmentationPolicy</a> DFLT_SEG_PLC</pre>
<div class="block">Default segmentation policy.</div>
</li>
</ul>
<a name="DFLT_WAIT_FOR_SEG_ON_START">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_WAIT_FOR_SEG_ON_START</h4>
<pre>public static final&nbsp;boolean DFLT_WAIT_FOR_SEG_ON_START</pre>
<div class="block">Default value for wait for segment on startup flag.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_WAIT_FOR_SEG_ON_START">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_ALL_SEG_RESOLVERS_PASS_REQ">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_ALL_SEG_RESOLVERS_PASS_REQ</h4>
<pre>public static final&nbsp;boolean DFLT_ALL_SEG_RESOLVERS_PASS_REQ</pre>
<div class="block">Default value for all segmentation resolvers pass required.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_ALL_SEG_RESOLVERS_PASS_REQ">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_SEG_RESOLVE_ATTEMPTS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_SEG_RESOLVE_ATTEMPTS</h4>
<pre>public static final&nbsp;int DFLT_SEG_RESOLVE_ATTEMPTS</pre>
<div class="block">Default value segmentation resolve attempts count.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_SEG_RESOLVE_ATTEMPTS">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_SEG_CHK_FREQ">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_SEG_CHK_FREQ</h4>
<pre>public static final&nbsp;long DFLT_SEG_CHK_FREQ</pre>
<div class="block">Default segment check frequency in discovery manager.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_SEG_CHK_FREQ">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_METRICS_LOG_FREQ">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_METRICS_LOG_FREQ</h4>
<pre>public static final&nbsp;long DFLT_METRICS_LOG_FREQ</pre>
<div class="block">Default frequency of metrics log print out.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_METRICS_LOG_FREQ">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_TCP_PORT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_TCP_PORT</h4>
<pre>public static final&nbsp;int DFLT_TCP_PORT</pre>
<div class="block">Default TCP server port.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_TCP_PORT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_MARSHAL_LOCAL_JOBS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MARSHAL_LOCAL_JOBS</h4>
<pre>public static final&nbsp;boolean DFLT_MARSHAL_LOCAL_JOBS</pre>
<div class="block">Default marshal local jobs flag.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_MARSHAL_LOCAL_JOBS">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_CACHE_SANITY_CHECK_ENABLED">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DFLT_CACHE_SANITY_CHECK_ENABLED</h4>
<pre>public static final&nbsp;boolean DFLT_CACHE_SANITY_CHECK_ENABLED</pre>
<div class="block">Default value for cache sanity check enabled flag.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.IgniteConfiguration.DFLT_CACHE_SANITY_CHECK_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="IgniteConfiguration()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>IgniteConfiguration</h4>
<pre>public&nbsp;IgniteConfiguration()</pre>
<div class="block">Creates valid grid configuration with all default values.</div>
</li>
</ul>
<a name="IgniteConfiguration(org.apache.ignite.configuration.IgniteConfiguration)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>IgniteConfiguration</h4>
<pre>public&nbsp;IgniteConfiguration(<a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html" title="class in org.apache.ignite.configuration">IgniteConfiguration</a>&nbsp;cfg)</pre>
<div class="block">Creates grid configuration by coping all configuration properties from
 given configuration.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cfg</code> - Grid configuration to copy from.</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getGridName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGridName</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getGridName()</pre>
<div class="block">Gets optional grid name. Returns <code>null</code> if non-default grid name was not
 provided.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Optional grid name. Can be <code>null</code>, which is default grid name, if
      non-default grid name was not provided.</dd></dl>
</li>
</ul>
<a name="isDaemon()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDaemon</h4>
<pre>public&nbsp;boolean&nbsp;isDaemon()</pre>
<div class="block">Whether or not this node should be a daemon node.
 <p>
 Daemon nodes are the usual grid nodes that participate in topology but not
 visible on the main APIs, i.e. they are not part of any projections. The only
 way to see daemon nodes is to use <a href="../../../../org/apache/ignite/cluster/ClusterGroup.html#forDaemons()"><code>ClusterGroup.forDaemons()</code></a> method.
 <p>
 Daemon nodes are used primarily for management and monitoring functionality that
 is build on Ignite and needs to participate in the topology but also needs to be
 excluded from "normal" topology so that it won't participate in task execution
 or in-memory data grid storage.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>True</code> if this node should be a daemon node, <code>false</code> otherwise.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/cluster/ClusterGroup.html#forDaemons()"><code>ClusterGroup.forDaemons()</code></a></dd></dl>
</li>
</ul>
<a name="setDaemon(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDaemon</h4>
<pre>public&nbsp;void&nbsp;setDaemon(boolean&nbsp;daemon)</pre>
<div class="block">Sets daemon flag.
 <p>
 Daemon nodes are the usual grid nodes that participate in topology but not
 visible on the main APIs, i.e. they are not part of any projections. The only
 way to see daemon nodes is to use <a href="../../../../org/apache/ignite/cluster/ClusterGroup.html#forDaemons()"><code>ClusterGroup.forDaemons()</code></a> method.
 <p>
 Daemon nodes are used primarily for management and monitoring functionality that
 is build on Ignite and needs to participate in the topology but also needs to be
 excluded from "normal" topology so that it won't participate in task execution
 or in-memory data grid storage.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>daemon</code> - Daemon flag.</dd></dl>
</li>
</ul>
<a name="setGridName(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setGridName</h4>
<pre>public&nbsp;void&nbsp;setGridName(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;gridName)</pre>
<div class="block">Sets grid name. Note that <code>null</code> is a default grid name.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>gridName</code> - Grid name to set. Can be <code>null</code>, which is default
      grid name.</dd></dl>
</li>
</ul>
<a name="getUserAttributes()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUserAttributes</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/7/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;getUserAttributes()</pre>
<div class="block">Should return any user-defined attributes to be added to this node. These attributes can
 then be accessed on nodes by calling <a href="../../../../org/apache/ignite/cluster/ClusterNode.html#attribute(java.lang.String)"><code>ClusterNode.attribute(String)</code></a> or
 <a href="../../../../org/apache/ignite/cluster/ClusterNode.html#attributes()"><code>ClusterNode.attributes()</code></a> methods.
 <p>
 Note that system adds the following (among others) attributes automatically:
 <ul>
 <li><code>{@link System#getProperties()}</code> - All system properties.</li>
 <li><code>{@link System#getenv(String)}</code> - All environment properties.</li>
 </ul>
 <p>
 Note that grid will add all System properties and environment properties
 to grid node attributes also. SPIs may also add node attributes that are
 used for SPI implementation.
 <p>
 <b>NOTE:</b> attributes names starting with <code>org.apache.ignite</code> are reserved
 for internal use.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>User defined attributes for this node.</dd></dl>
</li>
</ul>
<a name="setUserAttributes(java.util.Map)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUserAttributes</h4>
<pre>public&nbsp;void&nbsp;setUserAttributes(<a href="http://docs.oracle.com/javase/7/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/7/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;userAttrs)</pre>
<div class="block">Sets user attributes for this node.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>userAttrs</code> - User attributes for this node.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getUserAttributes()"><code>getUserAttributes()</code></a></dd></dl>
</li>
</ul>
<a name="getGridLogger()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGridLogger</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/IgniteLogger.html" title="interface in org.apache.ignite">IgniteLogger</a>&nbsp;getGridLogger()</pre>
<div class="block">Should return an instance of logger to use in grid. If not provided,
 <a href="../../../../org/apache/ignite/logger/log4j/Log4JLogger.html"><code>Log4JLogger</code></a>
 will be used.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Logger to use in grid.</dd></dl>
</li>
</ul>
<a name="setGridLogger(org.apache.ignite.IgniteLogger)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setGridLogger</h4>
<pre>public&nbsp;void&nbsp;setGridLogger(<a href="../../../../org/apache/ignite/IgniteLogger.html" title="interface in org.apache.ignite">IgniteLogger</a>&nbsp;log)</pre>
<div class="block">Sets logger to use within grid.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>log</code> - Logger to use within grid.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getGridLogger()"><code>getGridLogger()</code></a></dd></dl>
</li>
</ul>
<a name="getPublicThreadPoolSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPublicThreadPoolSize</h4>
<pre>public&nbsp;int&nbsp;getPublicThreadPoolSize()</pre>
<div class="block">Should return a thread pool size to be used in grid.
 This executor service will be in charge of processing <a href="../../../../org/apache/ignite/compute/ComputeJob.html" title="interface in org.apache.ignite.compute"><code>GridJobs</code></a>
 and user messages sent to node.
 <p>
 If not provided, executor service will have size <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_PUBLIC_THREAD_CNT"><code>DFLT_PUBLIC_THREAD_CNT</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Thread pool size to be used in grid to process job execution
      requests and user messages sent to the node.</dd></dl>
</li>
</ul>
<a name="getSystemThreadPoolSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSystemThreadPoolSize</h4>
<pre>public&nbsp;int&nbsp;getSystemThreadPoolSize()</pre>
<div class="block">Size of thread pool that is in charge of processing internal system messages.
 <p>
 If not provided, executor service will have size <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_SYSTEM_CORE_THREAD_CNT"><code>DFLT_SYSTEM_CORE_THREAD_CNT</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Thread pool size to be used in grid for internal system messages.</dd></dl>
</li>
</ul>
<a name="getManagementThreadPoolSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getManagementThreadPoolSize</h4>
<pre>public&nbsp;int&nbsp;getManagementThreadPoolSize()</pre>
<div class="block">Size of thread pool that is in charge of processing internal and Visor
 <a href="../../../../org/apache/ignite/compute/ComputeJob.html" title="interface in org.apache.ignite.compute"><code>GridJobs</code></a>.
 <p>
 If not provided, executor service will have size <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_MGMT_THREAD_CNT"><code>DFLT_MGMT_THREAD_CNT</code></a></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Thread pool size to be used in grid for internal and Visor
      jobs processing.</dd></dl>
</li>
</ul>
<a name="getPeerClassLoadingThreadPoolSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPeerClassLoadingThreadPoolSize</h4>
<pre>public&nbsp;int&nbsp;getPeerClassLoadingThreadPoolSize()</pre>
<div class="block">Size of thread pool which  is in charge of peer class loading requests/responses. If you don't use
 peer class loading and use GAR deployment only we would recommend to decrease
 the value of total threads to <code>1</code>.
 <p>
 If not provided, executor service will have size <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_P2P_THREAD_CNT"><code>DFLT_P2P_THREAD_CNT</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Thread pool size to be used for peer class loading
      requests handling.</dd></dl>
</li>
</ul>
<a name="getIgfsThreadPoolSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIgfsThreadPoolSize</h4>
<pre>public&nbsp;int&nbsp;getIgfsThreadPoolSize()</pre>
<div class="block">Size of thread pool that is in charge of processing outgoing IGFS messages.
 <p>
 If not provided, executor service will have size equals number of processors available in system.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Thread pool size to be used for IGFS outgoing message sending.</dd></dl>
</li>
</ul>
<a name="setPublicThreadPoolSize(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPublicThreadPoolSize</h4>
<pre>public&nbsp;void&nbsp;setPublicThreadPoolSize(int&nbsp;poolSize)</pre>
<div class="block">Sets thread pool size to use within grid.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>poolSize</code> - Thread pool size to use within grid.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getPublicThreadPoolSize()"><code>getPublicThreadPoolSize()</code></a></dd></dl>
</li>
</ul>
<a name="setSystemThreadPoolSize(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSystemThreadPoolSize</h4>
<pre>public&nbsp;void&nbsp;setSystemThreadPoolSize(int&nbsp;poolSize)</pre>
<div class="block">Sets system thread pool size to use within grid.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>poolSize</code> - Thread pool size to use within grid.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getSystemThreadPoolSize()"><code>getSystemThreadPoolSize()</code></a></dd></dl>
</li>
</ul>
<a name="setManagementThreadPoolSize(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setManagementThreadPoolSize</h4>
<pre>public&nbsp;void&nbsp;setManagementThreadPoolSize(int&nbsp;poolSize)</pre>
<div class="block">Sets management thread pool size to use within grid.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>poolSize</code> - Thread pool size to use within grid.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getManagementThreadPoolSize()"><code>getManagementThreadPoolSize()</code></a></dd></dl>
</li>
</ul>
<a name="setPeerClassLoadingThreadPoolSize(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPeerClassLoadingThreadPoolSize</h4>
<pre>public&nbsp;void&nbsp;setPeerClassLoadingThreadPoolSize(int&nbsp;poolSize)</pre>
<div class="block">Sets thread pool size to use for peer class loading.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>poolSize</code> - Thread pool size to use within grid.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getPeerClassLoadingThreadPoolSize()"><code>getPeerClassLoadingThreadPoolSize()</code></a></dd></dl>
</li>
</ul>
<a name="setIgfsThreadPoolSize(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIgfsThreadPoolSize</h4>
<pre>public&nbsp;void&nbsp;setIgfsThreadPoolSize(int&nbsp;poolSize)</pre>
<div class="block">Set thread pool size that will be used to process outgoing IGFS messages.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>poolSize</code> - Executor service to use for outgoing IGFS messages.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getIgfsThreadPoolSize()"><code>getIgfsThreadPoolSize()</code></a></dd></dl>
</li>
</ul>
<a name="getIgniteHome()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIgniteHome</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getIgniteHome()</pre>
<div class="block">Should return Ignite installation home folder. If not provided, the system will check
 <code>IGNITE_HOME</code> system property and environment variable in that order. If
 <code>IGNITE_HOME</code> still could not be obtained, then grid will not start and exception
 will be thrown.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Ignite installation home or <code>null</code> to make the system attempt to
      infer it automatically.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/IgniteSystemProperties.html#IGNITE_HOME"><code>IgniteSystemProperties.IGNITE_HOME</code></a></dd></dl>
</li>
</ul>
<a name="setIgniteHome(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIgniteHome</h4>
<pre>public&nbsp;void&nbsp;setIgniteHome(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ggHome)</pre>
<div class="block">Sets Ignite installation folder.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ggHome</code> - <code>Ignition</code> installation folder.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getIgniteHome()"><code>getIgniteHome()</code></a>, 
<a href="../../../../org/apache/ignite/IgniteSystemProperties.html#IGNITE_HOME"><code>IgniteSystemProperties.IGNITE_HOME</code></a></dd></dl>
</li>
</ul>
<a name="getWorkDirectory()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWorkDirectory</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getWorkDirectory()</pre>
<div class="block">Gets Ignite work folder. If not provided, the method will use work folder under
 <code>IGNITE_HOME</code> specified by <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setIgniteHome(java.lang.String)"><code>setIgniteHome(String)</code></a> or
 <code>IGNITE_HOME</code> environment variable or system property.
 <p>
 If <code>IGNITE_HOME</code> is not provided, then system temp folder is used.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Ignite work folder or <code>null</code> to make the system attempt to infer it automatically.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getIgniteHome()"><code>getIgniteHome()</code></a>, 
<a href="../../../../org/apache/ignite/IgniteSystemProperties.html#IGNITE_HOME"><code>IgniteSystemProperties.IGNITE_HOME</code></a></dd></dl>
</li>
</ul>
<a name="setWorkDirectory(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWorkDirectory</h4>
<pre>public&nbsp;void&nbsp;setWorkDirectory(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ggWork)</pre>
<div class="block">Sets Ignite work folder.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ggWork</code> - <code>Ignite</code> work folder.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getWorkDirectory()"><code>getWorkDirectory()</code></a></dd></dl>
</li>
</ul>
<a name="getMBeanServer()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMBeanServer</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/javax/management/MBeanServer.html?is-external=true" title="class or interface in javax.management">MBeanServer</a>&nbsp;getMBeanServer()</pre>
<div class="block">Should return MBean server instance. If not provided, the system will use default
 platform MBean server.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>MBean server instance or <code>null</code> to make the system create a default one.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/management/ManagementFactory.html?is-external=true#getPlatformMBeanServer()" title="class or interface in java.lang.management"><code>ManagementFactory.getPlatformMBeanServer()</code></a></dd></dl>
</li>
</ul>
<a name="setMBeanServer(javax.management.MBeanServer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMBeanServer</h4>
<pre>public&nbsp;void&nbsp;setMBeanServer(<a href="http://docs.oracle.com/javase/7/docs/api/javax/management/MBeanServer.html?is-external=true" title="class or interface in javax.management">MBeanServer</a>&nbsp;mbeanSrv)</pre>
<div class="block">Sets initialized and started MBean server.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>mbeanSrv</code> - Initialized and started MBean server.</dd></dl>
</li>
</ul>
<a name="getNodeId()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNodeId</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;getNodeId()</pre>
<div class="block">Unique identifier for this node within grid.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Unique identifier for this node within grid.</dd></dl>
</li>
</ul>
<a name="setNodeId(java.util.UUID)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNodeId</h4>
<pre>public&nbsp;void&nbsp;setNodeId(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId)</pre>
<div class="block">Sets unique identifier for local node.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>nodeId</code> - Unique identifier for local node.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getNodeId()"><code>getNodeId()</code></a></dd></dl>
</li>
</ul>
<a name="getMarshaller()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMarshaller</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/marshaller/Marshaller.html" title="interface in org.apache.ignite.marshaller">Marshaller</a>&nbsp;getMarshaller()</pre>
<div class="block">Should return an instance of marshaller to use in grid. If not provided,
 <a href="../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html" title="class in org.apache.ignite.marshaller.optimized"><code>OptimizedMarshaller</code></a> will be used on Java HotSpot VM, and
 <a href="../../../../org/apache/ignite/marshaller/jdk/JdkMarshaller.html" title="class in org.apache.ignite.marshaller.jdk"><code>JdkMarshaller</code></a> will be used on other VMs.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Marshaller to use in grid.</dd></dl>
</li>
</ul>
<a name="setMarshaller(org.apache.ignite.marshaller.Marshaller)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMarshaller</h4>
<pre>public&nbsp;void&nbsp;setMarshaller(<a href="../../../../org/apache/ignite/marshaller/Marshaller.html" title="interface in org.apache.ignite.marshaller">Marshaller</a>&nbsp;marsh)</pre>
<div class="block">Sets marshaller to use within grid.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>marsh</code> - Marshaller to use within grid.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMarshaller()"><code>getMarshaller()</code></a></dd></dl>
</li>
</ul>
<a name="isPeerClassLoadingEnabled()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPeerClassLoadingEnabled</h4>
<pre>public&nbsp;boolean&nbsp;isPeerClassLoadingEnabled()</pre>
<div class="block">Returns <code>true</code> if peer class loading is enabled, <code>false</code>
 otherwise. Default value is <code>false</code> specified by <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_P2P_ENABLED"><code>DFLT_P2P_ENABLED</code></a>.
 <p>
 When peer class loading is enabled and task is not deployed on local node,
 local node will try to load classes from the node that initiated task
 execution. This way, a task can be physically deployed only on one node
 and then internally penetrate to all other nodes.
 <p>
 See <a href="../../../../org/apache/ignite/compute/ComputeTask.html" title="interface in org.apache.ignite.compute"><code>ComputeTask</code></a> documentation for more information about task deployment.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>true</code> if peer class loading is enabled, <code>false</code>
      otherwise.</dd></dl>
</li>
</ul>
<a name="isMarshalLocalJobs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isMarshalLocalJobs</h4>
<pre>public&nbsp;boolean&nbsp;isMarshalLocalJobs()</pre>
<div class="block">If this flag is set to <code>true</code>, jobs mapped to local node will be
 marshalled as if it was remote node.
 <p>
 If not provided, default value is defined by <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_MARSHAL_LOCAL_JOBS"><code>DFLT_MARSHAL_LOCAL_JOBS</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>True</code> if local jobs should be marshalled.</dd></dl>
</li>
</ul>
<a name="setMarshalLocalJobs(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMarshalLocalJobs</h4>
<pre>public&nbsp;void&nbsp;setMarshalLocalJobs(boolean&nbsp;marshLocJobs)</pre>
<div class="block">Sets marshal local jobs flag.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>marshLocJobs</code> - <code>True</code> if local jobs should be marshalled.</dd></dl>
</li>
</ul>
<a name="setPeerClassLoadingEnabled(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPeerClassLoadingEnabled</h4>
<pre>public&nbsp;void&nbsp;setPeerClassLoadingEnabled(boolean&nbsp;p2pEnabled)</pre>
<div class="block">Enables/disables peer class loading.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>p2pEnabled</code> - <code>true</code> if peer class loading is
      enabled, <code>false</code> otherwise.</dd></dl>
</li>
</ul>
<a name="getPeerClassLoadingLocalClassPathExclude()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPeerClassLoadingLocalClassPathExclude</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getPeerClassLoadingLocalClassPathExclude()</pre>
<div class="block">Should return list of packages from the system classpath that need to
 be peer-to-peer loaded from task originating node.
 '*' is supported at the end of the package name which means
 that all sub-packages and their classes are included like in Java
 package import clause.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>List of peer-to-peer loaded package names.</dd></dl>
</li>
</ul>
<a name="setPeerClassLoadingLocalClassPathExclude(java.lang.String...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPeerClassLoadingLocalClassPathExclude</h4>
<pre>public&nbsp;void&nbsp;setPeerClassLoadingLocalClassPathExclude(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;p2pLocClsPathExcl)</pre>
<div class="block">Sets list of packages in a system class path that should be P2P
 loaded even if they exist locally.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>p2pLocClsPathExcl</code> - List of P2P loaded packages. Package
      name supports '*' at the end like in package import clause.</dd></dl>
</li>
</ul>
<a name="getMetricsHistorySize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMetricsHistorySize</h4>
<pre>public&nbsp;int&nbsp;getMetricsHistorySize()</pre>
<div class="block">Number of node metrics to keep in memory to calculate totals and averages.
 If not provided (value is <code>0</code>), then default value
 <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_METRICS_HISTORY_SIZE"><code>DFLT_METRICS_HISTORY_SIZE</code></a> is used.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Metrics history size.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_METRICS_HISTORY_SIZE"><code>DFLT_METRICS_HISTORY_SIZE</code></a></dd></dl>
</li>
</ul>
<a name="setMetricsHistorySize(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMetricsHistorySize</h4>
<pre>public&nbsp;void&nbsp;setMetricsHistorySize(int&nbsp;metricsHistSize)</pre>
<div class="block">Sets number of metrics kept in history to compute totals and averages.
 If not explicitly set, then default value is <code>10,000</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>metricsHistSize</code> - Number of metrics kept in history to use for
      metric totals and averages calculations.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_METRICS_HISTORY_SIZE"><code>DFLT_METRICS_HISTORY_SIZE</code></a></dd></dl>
</li>
</ul>
<a name="getMetricsUpdateFrequency()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMetricsUpdateFrequency</h4>
<pre>public&nbsp;long&nbsp;getMetricsUpdateFrequency()</pre>
<div class="block">Gets job metrics update frequency in milliseconds.
 <p>
 Updating metrics too frequently may have negative performance impact.
 <p>
 The following values are accepted:
 <ul>
     <li><code>-1</code> job metrics are never updated.</li>
     <li><code>0</code> job metrics are updated on each job start and finish.</li>
     <li>Positive value defines the actual update frequency. If not provided, then default value
     <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_METRICS_UPDATE_FREQ"><code>DFLT_METRICS_UPDATE_FREQ</code></a> is used.</li>
 </ul>
 If not provided, then default value <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_METRICS_UPDATE_FREQ"><code>DFLT_METRICS_UPDATE_FREQ</code></a> is used.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Job metrics update frequency in milliseconds.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_METRICS_UPDATE_FREQ"><code>DFLT_METRICS_UPDATE_FREQ</code></a></dd></dl>
</li>
</ul>
<a name="setMetricsUpdateFrequency(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMetricsUpdateFrequency</h4>
<pre>public&nbsp;void&nbsp;setMetricsUpdateFrequency(long&nbsp;metricsUpdateFreq)</pre>
<div class="block">Sets job metrics update frequency in milliseconds.
 <p>
 If set to <code>-1</code> job metrics are never updated.
 If set to <code>0</code> job metrics are updated on each job start and finish.
 Positive value defines the actual update frequency.
 If not provided, then default value
 <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_METRICS_UPDATE_FREQ"><code>DFLT_METRICS_UPDATE_FREQ</code></a> is used.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>metricsUpdateFreq</code> - Job metrics update frequency in milliseconds.</dd></dl>
</li>
</ul>
<a name="getMetricsExpireTime()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMetricsExpireTime</h4>
<pre>public&nbsp;long&nbsp;getMetricsExpireTime()</pre>
<div class="block">Elapsed time in milliseconds after which node metrics are considered expired.
 If not provided, then default value
 <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_METRICS_EXPIRE_TIME"><code>DFLT_METRICS_EXPIRE_TIME</code></a> is used.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Metrics expire time.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_METRICS_EXPIRE_TIME"><code>DFLT_METRICS_EXPIRE_TIME</code></a></dd></dl>
</li>
</ul>
<a name="setMetricsExpireTime(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMetricsExpireTime</h4>
<pre>public&nbsp;void&nbsp;setMetricsExpireTime(long&nbsp;metricsExpTime)</pre>
<div class="block">Sets time in milliseconds after which a certain metric value is considered expired.
 If not set explicitly, then default value is <code>600,000</code> milliseconds (10 minutes).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>metricsExpTime</code> - The metricsExpTime to set.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_METRICS_EXPIRE_TIME"><code>DFLT_METRICS_EXPIRE_TIME</code></a></dd></dl>
</li>
</ul>
<a name="getNetworkTimeout()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNetworkTimeout</h4>
<pre>public&nbsp;long&nbsp;getNetworkTimeout()</pre>
<div class="block">Maximum timeout in milliseconds for network requests.
 <p>
 If not provided, then default value
 <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_NETWORK_TIMEOUT"><code>DFLT_NETWORK_TIMEOUT</code></a> is used.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Maximum timeout for network requests.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_NETWORK_TIMEOUT"><code>DFLT_NETWORK_TIMEOUT</code></a></dd></dl>
</li>
</ul>
<a name="setNetworkTimeout(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNetworkTimeout</h4>
<pre>public&nbsp;void&nbsp;setNetworkTimeout(long&nbsp;netTimeout)</pre>
<div class="block">Maximum timeout in milliseconds for network requests.
 <p>
 If not provided (value is <code>0</code>), then default value
 <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_NETWORK_TIMEOUT"><code>DFLT_NETWORK_TIMEOUT</code></a> is used.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>netTimeout</code> - Maximum timeout for network requests.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_NETWORK_TIMEOUT"><code>DFLT_NETWORK_TIMEOUT</code></a></dd></dl>
</li>
</ul>
<a name="getNetworkSendRetryDelay()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNetworkSendRetryDelay</h4>
<pre>public&nbsp;long&nbsp;getNetworkSendRetryDelay()</pre>
<div class="block">Interval in milliseconds between message send retries.
 <p>
 If not provided, then default value
 <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_SEND_RETRY_DELAY"><code>DFLT_SEND_RETRY_DELAY</code></a> is used.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Interval between message send retries.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getNetworkSendRetryCount()"><code>getNetworkSendRetryCount()</code></a>, 
<a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_SEND_RETRY_DELAY"><code>DFLT_SEND_RETRY_DELAY</code></a></dd></dl>
</li>
</ul>
<a name="setNetworkSendRetryDelay(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNetworkSendRetryDelay</h4>
<pre>public&nbsp;void&nbsp;setNetworkSendRetryDelay(long&nbsp;sndRetryDelay)</pre>
<div class="block">Sets interval in milliseconds between message send retries.
 <p>
 If not provided, then default value
 <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_SEND_RETRY_DELAY"><code>DFLT_SEND_RETRY_DELAY</code></a> is used.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sndRetryDelay</code> - Interval between message send retries.</dd></dl>
</li>
</ul>
<a name="getNetworkSendRetryCount()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNetworkSendRetryCount</h4>
<pre>public&nbsp;int&nbsp;getNetworkSendRetryCount()</pre>
<div class="block">Message send retries count.
 <p>
 If not provided, then default value
 <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_SEND_RETRY_CNT"><code>DFLT_SEND_RETRY_CNT</code></a> is used.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Message send retries count.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getNetworkSendRetryDelay()"><code>getNetworkSendRetryDelay()</code></a>, 
<a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_SEND_RETRY_CNT"><code>DFLT_SEND_RETRY_CNT</code></a></dd></dl>
</li>
</ul>
<a name="setNetworkSendRetryCount(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNetworkSendRetryCount</h4>
<pre>public&nbsp;void&nbsp;setNetworkSendRetryCount(int&nbsp;sndRetryCnt)</pre>
<div class="block">Sets message send retries count.
 <p>
 If not provided, then default value
 <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_SEND_RETRY_CNT"><code>DFLT_SEND_RETRY_CNT</code></a> is used.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sndRetryCnt</code> - Message send retries count.</dd></dl>
</li>
</ul>
<a name="getClockSyncSamples()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClockSyncSamples</h4>
<pre>public&nbsp;int&nbsp;getClockSyncSamples()</pre>
<div class="block">Gets number of samples used to synchronize clocks between different nodes.
 <p>
 Clock synchronization is used for cache version assignment in <code>CLOCK</code> order mode.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Number of samples for one synchronization round.</dd></dl>
</li>
</ul>
<a name="setClockSyncSamples(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClockSyncSamples</h4>
<pre>public&nbsp;void&nbsp;setClockSyncSamples(int&nbsp;clockSyncSamples)</pre>
<div class="block">Sets number of samples used for clock synchronization.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>clockSyncSamples</code> - Number of samples.</dd></dl>
</li>
</ul>
<a name="getClockSyncFrequency()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClockSyncFrequency</h4>
<pre>public&nbsp;long&nbsp;getClockSyncFrequency()</pre>
<div class="block">Gets frequency at which clock is synchronized between nodes, in milliseconds.
 <p>
 Clock synchronization is used for cache version assignment in <code>CLOCK</code> order mode.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Clock synchronization frequency, in milliseconds.</dd></dl>
</li>
</ul>
<a name="setClockSyncFrequency(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClockSyncFrequency</h4>
<pre>public&nbsp;void&nbsp;setClockSyncFrequency(long&nbsp;clockSyncFreq)</pre>
<div class="block">Sets clock synchronization frequency in milliseconds.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>clockSyncFreq</code> - Clock synchronization frequency.</dd></dl>
</li>
</ul>
<a name="getLifecycleBeans()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLifecycleBeans</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/lifecycle/LifecycleBean.html" title="interface in org.apache.ignite.lifecycle">LifecycleBean</a>[]&nbsp;getLifecycleBeans()</pre>
<div class="block">Returns a collection of life-cycle beans. These beans will be automatically
 notified of grid life-cycle events. Use life-cycle beans whenever you
 want to perform certain logic before and after grid startup and stopping
 routines.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Collection of life-cycle beans.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/lifecycle/LifecycleBean.html" title="interface in org.apache.ignite.lifecycle"><code>LifecycleBean</code></a>, 
<a href="../../../../org/apache/ignite/lifecycle/LifecycleEventType.html" title="enum in org.apache.ignite.lifecycle"><code>LifecycleEventType</code></a></dd></dl>
</li>
</ul>
<a name="setLifecycleBeans(org.apache.ignite.lifecycle.LifecycleBean...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLifecycleBeans</h4>
<pre>public&nbsp;void&nbsp;setLifecycleBeans(<a href="../../../../org/apache/ignite/lifecycle/LifecycleBean.html" title="interface in org.apache.ignite.lifecycle">LifecycleBean</a>...&nbsp;lifecycleBeans)</pre>
<div class="block">Sets a collection of lifecycle beans. These beans will be automatically
 notified of grid lifecycle events. Use lifecycle beans whenever you
 want to perform certain logic before and after grid startup and stopping
 routines.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>lifecycleBeans</code> - Collection of lifecycle beans.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/lifecycle/LifecycleEventType.html" title="enum in org.apache.ignite.lifecycle"><code>LifecycleEventType</code></a></dd></dl>
</li>
</ul>
<a name="getEventStorageSpi()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEventStorageSpi</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/spi/eventstorage/EventStorageSpi.html" title="interface in org.apache.ignite.spi.eventstorage">EventStorageSpi</a>&nbsp;getEventStorageSpi()</pre>
<div class="block">Should return fully configured event SPI implementation. If not provided,
 <a href="../../../../org/apache/ignite/spi/eventstorage/memory/MemoryEventStorageSpi.html" title="class in org.apache.ignite.spi.eventstorage.memory"><code>MemoryEventStorageSpi</code></a> will be used.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Grid event SPI implementation or <code>null</code> to use default implementation.</dd></dl>
</li>
</ul>
<a name="setEventStorageSpi(org.apache.ignite.spi.eventstorage.EventStorageSpi)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEventStorageSpi</h4>
<pre>public&nbsp;void&nbsp;setEventStorageSpi(<a href="../../../../org/apache/ignite/spi/eventstorage/EventStorageSpi.html" title="interface in org.apache.ignite.spi.eventstorage">EventStorageSpi</a>&nbsp;evtSpi)</pre>
<div class="block">Sets fully configured instance of <a href="../../../../org/apache/ignite/spi/eventstorage/EventStorageSpi.html" title="interface in org.apache.ignite.spi.eventstorage"><code>EventStorageSpi</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>evtSpi</code> - Fully configured instance of <a href="../../../../org/apache/ignite/spi/eventstorage/EventStorageSpi.html" title="interface in org.apache.ignite.spi.eventstorage"><code>EventStorageSpi</code></a>.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getEventStorageSpi()"><code>getEventStorageSpi()</code></a></dd></dl>
</li>
</ul>
<a name="getDiscoverySpi()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDiscoverySpi</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a>&nbsp;getDiscoverySpi()</pre>
<div class="block">Should return fully configured discovery SPI implementation. If not provided,
 <a href="../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp"><code>TcpDiscoverySpi</code></a> will be used by default.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Grid discovery SPI implementation or <code>null</code> to use default implementation.</dd></dl>
</li>
</ul>
<a name="setDiscoverySpi(org.apache.ignite.spi.discovery.DiscoverySpi)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDiscoverySpi</h4>
<pre>public&nbsp;void&nbsp;setDiscoverySpi(<a href="../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a>&nbsp;discoSpi)</pre>
<div class="block">Sets fully configured instance of <a href="../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery"><code>DiscoverySpi</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>discoSpi</code> - Fully configured instance of <a href="../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery"><code>DiscoverySpi</code></a>.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getDiscoverySpi()"><code>getDiscoverySpi()</code></a></dd></dl>
</li>
</ul>
<a name="getSegmentationPolicy()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSegmentationPolicy</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/plugin/segmentation/GridSegmentationPolicy.html" title="enum in org.apache.ignite.plugin.segmentation">GridSegmentationPolicy</a>&nbsp;getSegmentationPolicy()</pre>
<div class="block">Returns segmentation policy. Default is <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_SEG_PLC"><code>DFLT_SEG_PLC</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Segmentation policy.</dd></dl>
</li>
</ul>
<a name="setSegmentationPolicy(org.apache.ignite.plugin.segmentation.GridSegmentationPolicy)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSegmentationPolicy</h4>
<pre>public&nbsp;void&nbsp;setSegmentationPolicy(<a href="../../../../org/apache/ignite/plugin/segmentation/GridSegmentationPolicy.html" title="enum in org.apache.ignite.plugin.segmentation">GridSegmentationPolicy</a>&nbsp;segPlc)</pre>
<div class="block">Sets segmentation policy.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>segPlc</code> - Segmentation policy.</dd></dl>
</li>
</ul>
<a name="isWaitForSegmentOnStart()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isWaitForSegmentOnStart</h4>
<pre>public&nbsp;boolean&nbsp;isWaitForSegmentOnStart()</pre>
<div class="block">Gets wait for segment on startup flag. Default is <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_WAIT_FOR_SEG_ON_START"><code>DFLT_WAIT_FOR_SEG_ON_START</code></a>.
 <p>
 Returns <code>true</code> if node should wait for correct segment on start.
 If node detects that segment is incorrect on startup and this method
 returns <code>true</code>, node waits until segment becomes correct.
 If segment is incorrect on startup and this method returns <code>false</code>,
 exception is thrown.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>True</code> to wait for segment on startup, <code>false</code> otherwise.</dd></dl>
</li>
</ul>
<a name="setWaitForSegmentOnStart(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWaitForSegmentOnStart</h4>
<pre>public&nbsp;void&nbsp;setWaitForSegmentOnStart(boolean&nbsp;waitForSegOnStart)</pre>
<div class="block">Sets wait for segment on start flag.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>waitForSegOnStart</code> - <code>True</code> to wait for segment on start.</dd></dl>
</li>
</ul>
<a name="isAllSegmentationResolversPassRequired()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAllSegmentationResolversPassRequired</h4>
<pre>public&nbsp;boolean&nbsp;isAllSegmentationResolversPassRequired()</pre>
<div class="block">Gets all segmentation resolvers pass required flag.
 <p>
 Returns <code>true</code> if all segmentation resolvers should succeed
 for node to be in correct segment.
 Returns <code>false</code> if at least one segmentation resolver should succeed
 for node to be in correct segment.
 <p>
 Default is <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_ALL_SEG_RESOLVERS_PASS_REQ"><code>DFLT_ALL_SEG_RESOLVERS_PASS_REQ</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>True</code> if all segmentation resolvers should succeed,
      <code>false</code> if only one is enough.</dd></dl>
</li>
</ul>
<a name="setAllSegmentationResolversPassRequired(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAllSegmentationResolversPassRequired</h4>
<pre>public&nbsp;void&nbsp;setAllSegmentationResolversPassRequired(boolean&nbsp;allResolversPassReq)</pre>
<div class="block">Sets all segmentation resolvers pass required flag.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>allResolversPassReq</code> - <code>True</code> if all segmentation resolvers should
      succeed for node to be in the correct segment.</dd></dl>
</li>
</ul>
<a name="getSegmentationResolveAttempts()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSegmentationResolveAttempts</h4>
<pre>public&nbsp;int&nbsp;getSegmentationResolveAttempts()</pre>
<div class="block">Gets segmentation resolve attempts. Each configured resolver will have
 this attempts number to pass segmentation check prior to check failure.

 Default is <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_SEG_RESOLVE_ATTEMPTS"><code>DFLT_SEG_RESOLVE_ATTEMPTS</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Segmentation resolve attempts.</dd></dl>
</li>
</ul>
<a name="setSegmentationResolveAttempts(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSegmentationResolveAttempts</h4>
<pre>public&nbsp;void&nbsp;setSegmentationResolveAttempts(int&nbsp;segResolveAttempts)</pre>
<div class="block">Sets segmentation resolve attempts count.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>segResolveAttempts</code> - Segmentation resolve attempts.</dd></dl>
</li>
</ul>
<a name="getSegmentationResolvers()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSegmentationResolvers</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/plugin/segmentation/GridSegmentationResolver.html" title="interface in org.apache.ignite.plugin.segmentation">GridSegmentationResolver</a>[]&nbsp;getSegmentationResolvers()</pre>
<div class="block">Returns a collection of segmentation resolvers.
 <p>
 If array is <code>null</code> or empty, periodical and on-start network
 segment checks do not happen.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Segmentation resolvers.</dd></dl>
</li>
</ul>
<a name="setSegmentationResolvers(org.apache.ignite.plugin.segmentation.GridSegmentationResolver...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSegmentationResolvers</h4>
<pre>public&nbsp;void&nbsp;setSegmentationResolvers(<a href="../../../../org/apache/ignite/plugin/segmentation/GridSegmentationResolver.html" title="interface in org.apache.ignite.plugin.segmentation">GridSegmentationResolver</a>...&nbsp;segResolvers)</pre>
<div class="block">Sets segmentation resolvers.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>segResolvers</code> - Segmentation resolvers.</dd></dl>
</li>
</ul>
<a name="getSegmentCheckFrequency()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSegmentCheckFrequency</h4>
<pre>public&nbsp;long&nbsp;getSegmentCheckFrequency()</pre>
<div class="block">Returns frequency of network segment check by discovery manager.
 <p>
 if 0, periodic segment check is disabled and segment is checked only
 on topology changes (if segmentation resolvers are configured).
 <p>
 Default is <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_SEG_CHK_FREQ"><code>DFLT_SEG_CHK_FREQ</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Segment check frequency.</dd></dl>
</li>
</ul>
<a name="setSegmentCheckFrequency(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSegmentCheckFrequency</h4>
<pre>public&nbsp;void&nbsp;setSegmentCheckFrequency(long&nbsp;segChkFreq)</pre>
<div class="block">Sets network segment check frequency.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>segChkFreq</code> - Segment check frequency.</dd></dl>
</li>
</ul>
<a name="getCommunicationSpi()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCommunicationSpi</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication">CommunicationSpi</a>&nbsp;getCommunicationSpi()</pre>
<div class="block">Should return fully configured SPI communication  implementation. If not provided,
 <a href="../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp"><code>TcpCommunicationSpi</code></a> will be used by default.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Grid communication SPI implementation or <code>null</code> to use default implementation.</dd></dl>
</li>
</ul>
<a name="setCommunicationSpi(org.apache.ignite.spi.communication.CommunicationSpi)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCommunicationSpi</h4>
<pre>public&nbsp;void&nbsp;setCommunicationSpi(<a href="../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication">CommunicationSpi</a>&nbsp;commSpi)</pre>
<div class="block">Sets fully configured instance of <a href="../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication"><code>CommunicationSpi</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>commSpi</code> - Fully configured instance of <a href="../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication"><code>CommunicationSpi</code></a>.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getCommunicationSpi()"><code>getCommunicationSpi()</code></a></dd></dl>
</li>
</ul>
<a name="getCollisionSpi()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCollisionSpi</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/spi/collision/CollisionSpi.html" title="interface in org.apache.ignite.spi.collision">CollisionSpi</a>&nbsp;getCollisionSpi()</pre>
<div class="block">Should return fully configured collision SPI implementation. If not provided,
 <a href="../../../../org/apache/ignite/spi/collision/noop/NoopCollisionSpi.html" title="class in org.apache.ignite.spi.collision.noop"><code>NoopCollisionSpi</code></a> is used and jobs get activated immediately
 on arrive to mapped node. This approach suits well for large amount of small
 jobs (which is a wide-spread use case). User still can control the number
 of concurrent jobs by setting maximum thread pool size defined by
 GridConfiguration.getPublicThreadPoolSize() configuration property.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Grid collision SPI implementation or <code>null</code> to use default implementation.</dd></dl>
</li>
</ul>
<a name="setCollisionSpi(org.apache.ignite.spi.collision.CollisionSpi)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCollisionSpi</h4>
<pre>public&nbsp;void&nbsp;setCollisionSpi(<a href="../../../../org/apache/ignite/spi/collision/CollisionSpi.html" title="interface in org.apache.ignite.spi.collision">CollisionSpi</a>&nbsp;colSpi)</pre>
<div class="block">Sets fully configured instance of <a href="../../../../org/apache/ignite/spi/collision/CollisionSpi.html" title="interface in org.apache.ignite.spi.collision"><code>CollisionSpi</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>colSpi</code> - Fully configured instance of <a href="../../../../org/apache/ignite/spi/collision/CollisionSpi.html" title="interface in org.apache.ignite.spi.collision"><code>CollisionSpi</code></a> or
      <code>null</code> if no SPI provided.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getCollisionSpi()"><code>getCollisionSpi()</code></a></dd></dl>
</li>
</ul>
<a name="getDeploymentSpi()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDeploymentSpi</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html" title="interface in org.apache.ignite.spi.deployment">DeploymentSpi</a>&nbsp;getDeploymentSpi()</pre>
<div class="block">Should return fully configured deployment SPI implementation. If not provided,
 <a href="../../../../org/apache/ignite/spi/deployment/local/LocalDeploymentSpi.html" title="class in org.apache.ignite.spi.deployment.local"><code>LocalDeploymentSpi</code></a> will be used.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Grid deployment SPI implementation or <code>null</code> to use default implementation.</dd></dl>
</li>
</ul>
<a name="setDeploymentSpi(org.apache.ignite.spi.deployment.DeploymentSpi)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDeploymentSpi</h4>
<pre>public&nbsp;void&nbsp;setDeploymentSpi(<a href="../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html" title="interface in org.apache.ignite.spi.deployment">DeploymentSpi</a>&nbsp;deploySpi)</pre>
<div class="block">Sets fully configured instance of <a href="../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html" title="interface in org.apache.ignite.spi.deployment"><code>DeploymentSpi</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>deploySpi</code> - Fully configured instance of <a href="../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html" title="interface in org.apache.ignite.spi.deployment"><code>DeploymentSpi</code></a>.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getDeploymentSpi()"><code>getDeploymentSpi()</code></a></dd></dl>
</li>
</ul>
<a name="getCheckpointSpi()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCheckpointSpi</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/spi/checkpoint/CheckpointSpi.html" title="interface in org.apache.ignite.spi.checkpoint">CheckpointSpi</a>[]&nbsp;getCheckpointSpi()</pre>
<div class="block">Should return fully configured checkpoint SPI implementation. If not provided,
 <a href="../../../../org/apache/ignite/spi/checkpoint/noop/NoopCheckpointSpi.html" title="class in org.apache.ignite.spi.checkpoint.noop"><code>NoopCheckpointSpi</code></a> will be used.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Grid checkpoint SPI implementation or <code>null</code> to use default implementation.</dd></dl>
</li>
</ul>
<a name="setCheckpointSpi(org.apache.ignite.spi.checkpoint.CheckpointSpi...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCheckpointSpi</h4>
<pre>public&nbsp;void&nbsp;setCheckpointSpi(<a href="../../../../org/apache/ignite/spi/checkpoint/CheckpointSpi.html" title="interface in org.apache.ignite.spi.checkpoint">CheckpointSpi</a>...&nbsp;cpSpi)</pre>
<div class="block">Sets fully configured instance of <a href="../../../../org/apache/ignite/spi/checkpoint/CheckpointSpi.html" title="interface in org.apache.ignite.spi.checkpoint"><code>CheckpointSpi</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cpSpi</code> - Fully configured instance of <a href="../../../../org/apache/ignite/spi/checkpoint/CheckpointSpi.html" title="interface in org.apache.ignite.spi.checkpoint"><code>CheckpointSpi</code></a>.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getCheckpointSpi()"><code>getCheckpointSpi()</code></a></dd></dl>
</li>
</ul>
<a name="getFailoverSpi()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFailoverSpi</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/spi/failover/FailoverSpi.html" title="interface in org.apache.ignite.spi.failover">FailoverSpi</a>[]&nbsp;getFailoverSpi()</pre>
<div class="block">Should return fully configured failover SPI implementation. If not provided,
 <a href="../../../../org/apache/ignite/spi/failover/always/AlwaysFailoverSpi.html" title="class in org.apache.ignite.spi.failover.always"><code>AlwaysFailoverSpi</code></a> will be used.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Grid failover SPI implementation or <code>null</code> to use default implementation.</dd></dl>
</li>
</ul>
<a name="setFailoverSpi(org.apache.ignite.spi.failover.FailoverSpi...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFailoverSpi</h4>
<pre>public&nbsp;void&nbsp;setFailoverSpi(<a href="../../../../org/apache/ignite/spi/failover/FailoverSpi.html" title="interface in org.apache.ignite.spi.failover">FailoverSpi</a>...&nbsp;failSpi)</pre>
<div class="block">Sets fully configured instance of <a href="../../../../org/apache/ignite/spi/failover/FailoverSpi.html" title="interface in org.apache.ignite.spi.failover"><code>FailoverSpi</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>failSpi</code> - Fully configured instance of <a href="../../../../org/apache/ignite/spi/failover/FailoverSpi.html" title="interface in org.apache.ignite.spi.failover"><code>FailoverSpi</code></a> or
      <code>null</code> if no SPI provided.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getFailoverSpi()"><code>getFailoverSpi()</code></a></dd></dl>
</li>
</ul>
<a name="getLoadBalancingSpi()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLoadBalancingSpi</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/spi/loadbalancing/LoadBalancingSpi.html" title="interface in org.apache.ignite.spi.loadbalancing">LoadBalancingSpi</a>[]&nbsp;getLoadBalancingSpi()</pre>
<div class="block">Should return fully configured load balancing SPI implementation. If not provided,
 <a href="../../../../org/apache/ignite/spi/loadbalancing/roundrobin/RoundRobinLoadBalancingSpi.html" title="class in org.apache.ignite.spi.loadbalancing.roundrobin"><code>RoundRobinLoadBalancingSpi</code></a> will be used.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Grid load balancing SPI implementation or <code>null</code> to use default implementation.</dd></dl>
</li>
</ul>
<a name="getDiscoveryStartupDelay()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDiscoveryStartupDelay</h4>
<pre>public&nbsp;long&nbsp;getDiscoveryStartupDelay()</pre>
<div class="block">This value is used to expire messages from waiting list whenever node
 discovery discrepancies happen.
 <p>
 During startup, it is possible for some SPIs to have a small time window when
 <tt>Node A</tt> has discovered <tt>Node B</tt>, but <tt>Node B</tt>
 has not discovered <tt>Node A</tt> yet. Such time window is usually very small,
 a matter of milliseconds, but certain JMS providers, for example, may be very slow
 and hence have larger discovery delay window.
 <p>
 The default value of this property is <code>60,000</code> specified by
 <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_DISCOVERY_STARTUP_DELAY"><code>DFLT_DISCOVERY_STARTUP_DELAY</code></a>. This should be good enough for vast
 majority of configurations. However, if you do anticipate an even larger
 delay, you should increase this value.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Time in milliseconds for when nodes can be out-of-sync.</dd></dl>
</li>
</ul>
<a name="setDiscoveryStartupDelay(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDiscoveryStartupDelay</h4>
<pre>public&nbsp;void&nbsp;setDiscoveryStartupDelay(long&nbsp;discoStartupDelay)</pre>
<div class="block">Sets time in milliseconds after which a certain metric value is considered expired.
 If not set explicitly, then default value is <code>600,000</code> milliseconds (10 minutes).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>discoStartupDelay</code> - Time in milliseconds for when nodes
      can be out-of-sync during startup.</dd></dl>
</li>
</ul>
<a name="setLoadBalancingSpi(org.apache.ignite.spi.loadbalancing.LoadBalancingSpi...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLoadBalancingSpi</h4>
<pre>public&nbsp;void&nbsp;setLoadBalancingSpi(<a href="../../../../org/apache/ignite/spi/loadbalancing/LoadBalancingSpi.html" title="interface in org.apache.ignite.spi.loadbalancing">LoadBalancingSpi</a>...&nbsp;loadBalancingSpi)</pre>
<div class="block">Sets fully configured instance of <a href="../../../../org/apache/ignite/spi/loadbalancing/LoadBalancingSpi.html" title="interface in org.apache.ignite.spi.loadbalancing"><code>LoadBalancingSpi</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>loadBalancingSpi</code> - Fully configured instance of <a href="../../../../org/apache/ignite/spi/loadbalancing/LoadBalancingSpi.html" title="interface in org.apache.ignite.spi.loadbalancing"><code>LoadBalancingSpi</code></a> or
      <code>null</code> if no SPI provided.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getLoadBalancingSpi()"><code>getLoadBalancingSpi()</code></a></dd></dl>
</li>
</ul>
<a name="setSwapSpaceSpi(org.apache.ignite.spi.swapspace.SwapSpaceSpi)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSwapSpaceSpi</h4>
<pre>public&nbsp;void&nbsp;setSwapSpaceSpi(<a href="../../../../org/apache/ignite/spi/swapspace/SwapSpaceSpi.html" title="interface in org.apache.ignite.spi.swapspace">SwapSpaceSpi</a>&nbsp;swapSpaceSpi)</pre>
<div class="block">Sets fully configured instances of <a href="../../../../org/apache/ignite/spi/swapspace/SwapSpaceSpi.html" title="interface in org.apache.ignite.spi.swapspace"><code>SwapSpaceSpi</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>swapSpaceSpi</code> - Fully configured instances of <a href="../../../../org/apache/ignite/spi/swapspace/SwapSpaceSpi.html" title="interface in org.apache.ignite.spi.swapspace"><code>SwapSpaceSpi</code></a> or
      <tt>null</tt> if no SPI provided.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getSwapSpaceSpi()"><code>getSwapSpaceSpi()</code></a></dd></dl>
</li>
</ul>
<a name="getSwapSpaceSpi()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSwapSpaceSpi</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/spi/swapspace/SwapSpaceSpi.html" title="interface in org.apache.ignite.spi.swapspace">SwapSpaceSpi</a>&nbsp;getSwapSpaceSpi()</pre>
<div class="block">Should return fully configured swap space SPI implementation. If not provided,
 <a href="../../../../org/apache/ignite/spi/swapspace/file/FileSwapSpaceSpi.html" title="class in org.apache.ignite.spi.swapspace.file"><code>FileSwapSpaceSpi</code></a> will be used.
 <p>
 Note that user can provide one or multiple instances of this SPI (and select later which one
 is used in a particular context).</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Grid swap space SPI implementation or <tt>null</tt> to use default implementation.</dd></dl>
</li>
</ul>
<a name="setIndexingSpi(org.apache.ignite.spi.indexing.IndexingSpi)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIndexingSpi</h4>
<pre>public&nbsp;void&nbsp;setIndexingSpi(<a href="../../../../org/apache/ignite/spi/indexing/IndexingSpi.html" title="interface in org.apache.ignite.spi.indexing">IndexingSpi</a>&nbsp;indexingSpi)</pre>
<div class="block">Sets fully configured instances of <a href="../../../../org/apache/ignite/spi/indexing/IndexingSpi.html" title="interface in org.apache.ignite.spi.indexing"><code>IndexingSpi</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>indexingSpi</code> - Fully configured instances of <a href="../../../../org/apache/ignite/spi/indexing/IndexingSpi.html" title="interface in org.apache.ignite.spi.indexing"><code>IndexingSpi</code></a>.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getIndexingSpi()"><code>getIndexingSpi()</code></a></dd></dl>
</li>
</ul>
<a name="getIndexingSpi()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIndexingSpi</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/spi/indexing/IndexingSpi.html" title="interface in org.apache.ignite.spi.indexing">IndexingSpi</a>&nbsp;getIndexingSpi()</pre>
<div class="block">Should return fully configured indexing SPI implementations.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Indexing SPI implementation.</dd></dl>
</li>
</ul>
<a name="getAddressResolver()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAddressResolver</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/configuration/AddressResolver.html" title="interface in org.apache.ignite.configuration">AddressResolver</a>&nbsp;getAddressResolver()</pre>
<div class="block">Gets address resolver for addresses mapping determination.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Address resolver.</dd></dl>
</li>
</ul>
<a name="setAddressResolver(org.apache.ignite.configuration.AddressResolver)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAddressResolver</h4>
<pre>public&nbsp;void&nbsp;setAddressResolver(<a href="../../../../org/apache/ignite/configuration/AddressResolver.html" title="interface in org.apache.ignite.configuration">AddressResolver</a>&nbsp;addrRslvr)</pre>
</li>
</ul>
<a name="setDeploymentMode(org.apache.ignite.configuration.DeploymentMode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDeploymentMode</h4>
<pre>public&nbsp;void&nbsp;setDeploymentMode(<a href="../../../../org/apache/ignite/configuration/DeploymentMode.html" title="enum in org.apache.ignite.configuration">DeploymentMode</a>&nbsp;deployMode)</pre>
<div class="block">Sets task classes and resources sharing mode.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>deployMode</code> - Task classes and resources sharing mode.</dd></dl>
</li>
</ul>
<a name="getDeploymentMode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDeploymentMode</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/configuration/DeploymentMode.html" title="enum in org.apache.ignite.configuration">DeploymentMode</a>&nbsp;getDeploymentMode()</pre>
<div class="block">Gets deployment mode for deploying tasks and other classes on this node.
 Refer to <a href="../../../../org/apache/ignite/configuration/DeploymentMode.html" title="enum in org.apache.ignite.configuration"><code>DeploymentMode</code></a> documentation for more information.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Deployment mode.</dd></dl>
</li>
</ul>
<a name="setPeerClassLoadingMissedResourcesCacheSize(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPeerClassLoadingMissedResourcesCacheSize</h4>
<pre>public&nbsp;void&nbsp;setPeerClassLoadingMissedResourcesCacheSize(int&nbsp;p2pMissedCacheSize)</pre>
<div class="block">Sets size of missed resources cache. Set 0 to avoid
 missed resources caching.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>p2pMissedCacheSize</code> - Size of missed resources cache.</dd></dl>
</li>
</ul>
<a name="getPeerClassLoadingMissedResourcesCacheSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPeerClassLoadingMissedResourcesCacheSize</h4>
<pre>public&nbsp;int&nbsp;getPeerClassLoadingMissedResourcesCacheSize()</pre>
<div class="block">Returns missed resources cache size. If size greater than <code>0</code>, missed
 resources will be cached and next resource request ignored. If size is <code>0</code>,
 then request for the resource will be sent to the remote node every time this
 resource is requested.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Missed resources cache size.</dd></dl>
</li>
</ul>
<a name="getCacheConfiguration()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCacheConfiguration</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="class in org.apache.ignite.configuration">CacheConfiguration</a>[]&nbsp;getCacheConfiguration()</pre>
<div class="block">Gets configuration (descriptors) for all caches.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Array of fully initialized cache descriptors.</dd></dl>
</li>
</ul>
<a name="setCacheConfiguration(org.apache.ignite.configuration.CacheConfiguration...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCacheConfiguration</h4>
<pre>public&nbsp;void&nbsp;setCacheConfiguration(<a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="class in org.apache.ignite.configuration">CacheConfiguration</a>...&nbsp;cacheCfg)</pre>
<div class="block">Sets cache configurations.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cacheCfg</code> - Cache configurations.</dd></dl>
</li>
</ul>
<a name="isCacheSanityCheckEnabled()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCacheSanityCheckEnabled</h4>
<pre>public&nbsp;boolean&nbsp;isCacheSanityCheckEnabled()</pre>
<div class="block">Gets flag indicating whether cache sanity check is enabled. If enabled, then Ignite
 will perform the following checks and throw an exception if check fails:
 <ul>
     <li>Cache entry is not externally locked with <code>lock(...)</code> or <code>lockAsync(...)</code>
     methods when entry is enlisted to transaction.</li>
     <li>Each entry in affinity group-lock transaction has the same affinity key as was specified on
     affinity transaction start.</li>
     <li>Each entry in partition group-lock transaction belongs to the same partition as was specified
     on partition transaction start.</li>
 </ul>
 <p>
 These checks are not required for cache operation, but help to find subtle bugs. Disabling of this checks
 usually yields a noticeable performance gain.
 <p>
 If not provided, default value is <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_CACHE_SANITY_CHECK_ENABLED"><code>DFLT_CACHE_SANITY_CHECK_ENABLED</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>True</code> if group lock sanity check is enabled.</dd></dl>
</li>
</ul>
<a name="setCacheSanityCheckEnabled(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCacheSanityCheckEnabled</h4>
<pre>public&nbsp;void&nbsp;setCacheSanityCheckEnabled(boolean&nbsp;cacheSanityCheckEnabled)</pre>
<div class="block">Sets cache sanity check flag.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cacheSanityCheckEnabled</code> - <code>True</code> if cache sanity check is enabled.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#isCacheSanityCheckEnabled()"><code>isCacheSanityCheckEnabled()</code></a></dd></dl>
</li>
</ul>
<a name="getIncludeEventTypes()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIncludeEventTypes</h4>
<pre>public&nbsp;int[]&nbsp;getIncludeEventTypes()</pre>
<div class="block">Gets array of event types, which will be recorded.
 <p>
 Note that by default all events in Ignite are disabled. Ignite can and often does generate thousands
 events per seconds under the load and therefore it creates a significant additional load on the system.
 If these events are not needed by the application this load is unnecessary and leads to significant
 performance degradation. So it is <b>highly recommended</b> to enable only those events that your
 application logic requires. Note that certain events are required for Ignite's internal operations
 and such events will still be generated but not stored by event storage SPI if they are disabled
 in Ignite configuration.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Include event types.</dd></dl>
</li>
</ul>
<a name="setIncludeEventTypes(int...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIncludeEventTypes</h4>
<pre>public&nbsp;void&nbsp;setIncludeEventTypes(int...&nbsp;inclEvtTypes)</pre>
<div class="block">Sets array of event types, which will be recorded by <code>GridEventStorageManager.record(org.apache.ignite.events.Event)</code>.
 Note, that either the include event types or the exclude event types can be established.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>inclEvtTypes</code> - Include event types.</dd></dl>
</li>
</ul>
<a name="setLocalHost(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLocalHost</h4>
<pre>public&nbsp;void&nbsp;setLocalHost(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;locHost)</pre>
<div class="block">Sets system-wide local address or host for all Ignite components to bind to. If provided it will
 override all default local bind settings within Ignite or any of its SPIs.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>locHost</code> - Local IP address or host to bind to.</dd></dl>
</li>
</ul>
<a name="getLocalHost()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalHost</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLocalHost()</pre>
<div class="block">Gets system-wide local address or host for all Ignite components to bind to. If provided it will
 override all default local bind settings within Ignite or any of its SPIs.
 <p>
 If <code>null</code> then Ignite tries to use local wildcard address. That means that
 all services will be available on all network interfaces of the host machine.
 <p>
 It is strongly recommended to set this parameter for all production environments.
 <p>
 If not provided, default is <code>null</code>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Local address or host to bind to.</dd></dl>
</li>
</ul>
<a name="getTimeServerPortBase()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTimeServerPortBase</h4>
<pre>public&nbsp;int&nbsp;getTimeServerPortBase()</pre>
<div class="block">Gets base UPD port number for grid time server. Time server will be started on one of free ports in range
 <code>[timeServerPortBase, timeServerPortBase + timeServerPortRange - 1]</code>.
 <p>
 Time server provides clock synchronization between nodes.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Time</dd></dl>
</li>
</ul>
<a name="setTimeServerPortBase(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTimeServerPortBase</h4>
<pre>public&nbsp;void&nbsp;setTimeServerPortBase(int&nbsp;timeSrvPortBase)</pre>
<div class="block">Sets time server port base.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>timeSrvPortBase</code> - Time server port base.</dd></dl>
</li>
</ul>
<a name="getTimeServerPortRange()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTimeServerPortRange</h4>
<pre>public&nbsp;int&nbsp;getTimeServerPortRange()</pre>
<div class="block">Defines port range to try for time server start.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Number of ports to try before server initialization fails.</dd></dl>
</li>
</ul>
<a name="setTimeServerPortRange(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTimeServerPortRange</h4>
<pre>public&nbsp;void&nbsp;setTimeServerPortRange(int&nbsp;timeSrvPortRange)</pre>
<div class="block">Sets time server port range.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>timeSrvPortRange</code> - Time server port range.</dd></dl>
</li>
</ul>
<a name="getIncludeProperties()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIncludeProperties</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getIncludeProperties()</pre>
<div class="block">Gets array of system or environment properties to include into node attributes.
 If this array is <code>null</code>, which is default, then all system and environment
 properties will be included. If this array is empty, then none will be included.
 Otherwise, for every name provided, first a system property will be looked up,
 and then, if it is not found, environment property will be looked up.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Array of system or environment properties to include into node attributes.</dd></dl>
</li>
</ul>
<a name="setIncludeProperties(java.lang.String...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIncludeProperties</h4>
<pre>public&nbsp;void&nbsp;setIncludeProperties(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;includeProps)</pre>
<div class="block">Sets array of system or environment property names to include into node attributes.
 See <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getIncludeProperties()"><code>getIncludeProperties()</code></a> for more info.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>includeProps</code> - Array of system or environment property names to include into node attributes.</dd></dl>
</li>
</ul>
<a name="getMetricsLogFrequency()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMetricsLogFrequency</h4>
<pre>public&nbsp;long&nbsp;getMetricsLogFrequency()</pre>
<div class="block">Gets frequency of metrics log print out.
 <p>
 If <code>0</code>, metrics print out is disabled.
 <p>
 If not provided, then default value <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_METRICS_LOG_FREQ"><code>DFLT_METRICS_LOG_FREQ</code></a> is used.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Frequency of metrics log print out.</dd></dl>
</li>
</ul>
<a name="setMetricsLogFrequency(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMetricsLogFrequency</h4>
<pre>public&nbsp;void&nbsp;setMetricsLogFrequency(long&nbsp;metricsLogFreq)</pre>
<div class="block">Sets frequency of metrics log print out.
 <p>
 If <code>0</code>, metrics print out is disabled.
 <p>
 If not provided, then default value <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_METRICS_LOG_FREQ"><code>DFLT_METRICS_LOG_FREQ</code></a> is used.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>metricsLogFreq</code> - Frequency of metrics log print out.</dd></dl>
</li>
</ul>
<a name="getFileSystemConfiguration()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFileSystemConfiguration</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/configuration/FileSystemConfiguration.html" title="class in org.apache.ignite.configuration">FileSystemConfiguration</a>[]&nbsp;getFileSystemConfiguration()</pre>
<div class="block">Gets IGFS (Ignite In-Memory File System) configurations.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>IGFS configurations.</dd></dl>
</li>
</ul>
<a name="setFileSystemConfiguration(org.apache.ignite.configuration.FileSystemConfiguration...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFileSystemConfiguration</h4>
<pre>public&nbsp;void&nbsp;setFileSystemConfiguration(<a href="../../../../org/apache/ignite/configuration/FileSystemConfiguration.html" title="class in org.apache.ignite.configuration">FileSystemConfiguration</a>...&nbsp;igfsCfg)</pre>
<div class="block">Sets IGFS (Ignite In-Memory File System) configurations.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>igfsCfg</code> - IGFS configurations.</dd></dl>
</li>
</ul>
<a name="getStreamerConfiguration()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStreamerConfiguration</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/streamer/StreamerConfiguration.html" title="class in org.apache.ignite.streamer">StreamerConfiguration</a>[]&nbsp;getStreamerConfiguration()</pre>
<div class="block">Gets streamers configurations.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Streamers configurations.</dd></dl>
</li>
</ul>
<a name="setStreamerConfiguration(org.apache.ignite.streamer.StreamerConfiguration...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStreamerConfiguration</h4>
<pre>public&nbsp;void&nbsp;setStreamerConfiguration(<a href="../../../../org/apache/ignite/streamer/StreamerConfiguration.html" title="class in org.apache.ignite.streamer">StreamerConfiguration</a>...&nbsp;streamerCfg)</pre>
<div class="block">Sets streamer configuration.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>streamerCfg</code> - Streamer configuration.</dd></dl>
</li>
</ul>
<a name="getHadoopConfiguration()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHadoopConfiguration</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html" title="class in org.apache.ignite.configuration">HadoopConfiguration</a>&nbsp;getHadoopConfiguration()</pre>
<div class="block">Gets hadoop configuration.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Hadoop configuration.</dd></dl>
</li>
</ul>
<a name="setHadoopConfiguration(org.apache.ignite.configuration.HadoopConfiguration)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setHadoopConfiguration</h4>
<pre>public&nbsp;void&nbsp;setHadoopConfiguration(<a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html" title="class in org.apache.ignite.configuration">HadoopConfiguration</a>&nbsp;hadoopCfg)</pre>
<div class="block">Sets hadoop configuration.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>hadoopCfg</code> - Hadoop configuration.</dd></dl>
</li>
</ul>
<a name="getConnectorConfiguration()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConnectorConfiguration</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/configuration/ConnectorConfiguration.html" title="class in org.apache.ignite.configuration">ConnectorConfiguration</a>&nbsp;getConnectorConfiguration()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>Connector configuration.</dd></dl>
</li>
</ul>
<a name="setConnectorConfiguration(org.apache.ignite.configuration.ConnectorConfiguration)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConnectorConfiguration</h4>
<pre>public&nbsp;void&nbsp;setConnectorConfiguration(<a href="../../../../org/apache/ignite/configuration/ConnectorConfiguration.html" title="class in org.apache.ignite.configuration">ConnectorConfiguration</a>&nbsp;connectorCfg)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>connectorCfg</code> - Connector configuration.</dd></dl>
</li>
</ul>
<a name="getServiceConfiguration()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServiceConfiguration</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/services/ServiceConfiguration.html" title="class in org.apache.ignite.services">ServiceConfiguration</a>[]&nbsp;getServiceConfiguration()</pre>
<div class="block">Gets configurations for services to be deployed on the grid.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Configurations for services to be deployed on the grid.</dd></dl>
</li>
</ul>
<a name="setServiceConfiguration(org.apache.ignite.services.ServiceConfiguration...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setServiceConfiguration</h4>
<pre>public&nbsp;void&nbsp;setServiceConfiguration(<a href="../../../../org/apache/ignite/services/ServiceConfiguration.html" title="class in org.apache.ignite.services">ServiceConfiguration</a>...&nbsp;svcCfgs)</pre>
<div class="block">Sets configurations for services to be deployed on the grid.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>svcCfgs</code> - Configurations for services to be deployed on the grid.</dd></dl>
</li>
</ul>
<a name="getLocalEventListeners()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalEventListeners</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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="../../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>? extends <a href="../../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span>,int[]<span class='angle_bracket'>&gt;</span>&nbsp;getLocalEventListeners()</pre>
<div class="block">Gets map of pre-configured local event listeners.
 Each listener is mapped to array of event types.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Pre-configured event listeners map.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/events/EventType.html" title="interface in org.apache.ignite.events"><code>EventType</code></a></dd></dl>
</li>
</ul>
<a name="setLocalEventListeners(java.util.Map)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLocalEventListeners</h4>
<pre>public&nbsp;void&nbsp;setLocalEventListeners(<a href="http://docs.oracle.com/javase/7/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="../../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span>? extends <a href="../../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span>,int[]<span class='angle_bracket'>&gt;</span>&nbsp;lsnrs)</pre>
<div class="block">Sets map of pre-configured local event listeners.
 Each listener is mapped to array of event types.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>lsnrs</code> - Pre-configured event listeners map.</dd></dl>
</li>
</ul>
<a name="getWarmupClosure()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWarmupClosure</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html" title="class in org.apache.ignite.configuration">IgniteConfiguration</a><span class='angle_bracket'>&gt;</span>&nbsp;getWarmupClosure()</pre>
<div class="block">Gets grid warmup closure. This closure will be executed before actual grid instance start. Configuration of
 a starting instance will be passed to the closure so it can decide what operations to warm up.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Warmup closure to execute.</dd></dl>
</li>
</ul>
<a name="setWarmupClosure(org.apache.ignite.lang.IgniteInClosure)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWarmupClosure</h4>
<pre>public&nbsp;void&nbsp;setWarmupClosure(<a href="../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html" title="class in org.apache.ignite.configuration">IgniteConfiguration</a><span class='angle_bracket'>&gt;</span>&nbsp;warmupClos)</pre>
<div class="block">Sets warmup closure to execute before grid startup.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>warmupClos</code> - Warmup closure to execute.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getWarmupClosure()"><code>getWarmupClosure()</code></a></dd></dl>
</li>
</ul>
<a name="getTransactionConfiguration()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTransactionConfiguration</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/configuration/TransactionConfiguration.html" title="class in org.apache.ignite.configuration">TransactionConfiguration</a>&nbsp;getTransactionConfiguration()</pre>
<div class="block">Gets transactions configuration.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Transactions configuration.</dd></dl>
</li>
</ul>
<a name="setTransactionConfiguration(org.apache.ignite.configuration.TransactionConfiguration)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTransactionConfiguration</h4>
<pre>public&nbsp;void&nbsp;setTransactionConfiguration(<a href="../../../../org/apache/ignite/configuration/TransactionConfiguration.html" title="class in org.apache.ignite.configuration">TransactionConfiguration</a>&nbsp;txCfg)</pre>
<div class="block">Sets transactions configuration.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>txCfg</code> - Transactions configuration.</dd></dl>
</li>
</ul>
<a name="getPluginConfigurations()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPluginConfigurations</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/plugin/PluginConfiguration.html" title="interface in org.apache.ignite.plugin">PluginConfiguration</a>[]&nbsp;getPluginConfigurations()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>Plugin configurations.</dd></dl>
</li>
</ul>
<a name="setPluginConfigurations(org.apache.ignite.plugin.PluginConfiguration...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPluginConfigurations</h4>
<pre>public&nbsp;void&nbsp;setPluginConfigurations(<a href="../../../../org/apache/ignite/plugin/PluginConfiguration.html" title="interface in org.apache.ignite.plugin">PluginConfiguration</a>...&nbsp;pluginCfgs)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pluginCfgs</code> - Plugin configurations.</dd></dl>
</li>
</ul>
<a name="getQueryConfiguration()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQueryConfiguration</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/configuration/QueryConfiguration.html" title="class in org.apache.ignite.configuration">QueryConfiguration</a>&nbsp;getQueryConfiguration()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>Query configuration.</dd></dl>
</li>
</ul>
<a name="setQueryConfiguration(org.apache.ignite.configuration.QueryConfiguration)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setQueryConfiguration</h4>
<pre>public&nbsp;void&nbsp;setQueryConfiguration(<a href="../../../../org/apache/ignite/configuration/QueryConfiguration.html" title="class in org.apache.ignite.configuration">QueryConfiguration</a>&nbsp;qryCfg)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>qryCfg</code> - Query configuration.</dd></dl>
</li>
</ul>
<a name="getAtomicConfiguration()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAtomicConfiguration</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/configuration/AtomicConfiguration.html" title="class in org.apache.ignite.configuration">AtomicConfiguration</a>&nbsp;getAtomicConfiguration()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>Atomic data structures configuration.</dd></dl>
</li>
</ul>
<a name="setAtomicConfiguration(org.apache.ignite.configuration.AtomicConfiguration)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAtomicConfiguration</h4>
<pre>public&nbsp;void&nbsp;setAtomicConfiguration(<a href="../../../../org/apache/ignite/configuration/AtomicConfiguration.html" title="class in org.apache.ignite.configuration">AtomicConfiguration</a>&nbsp;atomicCfg)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>atomicCfg</code> - Atomic data structures configuration.</dd></dl>
</li>
</ul>
<a name="setClassLoader(java.lang.ClassLoader)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClassLoader</h4>
<pre>public&nbsp;void&nbsp;setClassLoader(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;classLdr)</pre>
<div class="block">Sets loader which will be used for instantiating execution context (<code>EntryProcessors</code>,
 <code>CacheEntryListeners</code>, <code>CacheLoaders</code> and
 <code>ExpiryPolicys</code>).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>classLdr</code> - Class loader.</dd></dl>
</li>
</ul>
<a name="getClassLoader()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassLoader</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;getClassLoader()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>User's class loader.</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/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/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/7/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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/IgniteConfiguration.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>Apache Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html" title="class in org.apache.ignite.configuration"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/ignite/configuration/QueryConfiguration.html" title="class in org.apache.ignite.configuration"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/configuration/IgniteConfiguration.html" target="_top">Frames</a></li>
<li><a href="IgniteConfiguration.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:&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://incubator.apache.org/projects/ignite.html"><nobr>2015 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>                                             <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>                                         </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>Apache Ignite Fabric</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             ver. <strong>1.0.0-RC3</strong>                                                         </td>                                                     </tr>                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Release Date</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             March 24 2015                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                     </tr>                                     </table></small></p>
<!--FOOTER--><script type='text/javascript'>SyntaxHighlighter.all();dp.SyntaxHighlighter.HighlightAll('code');</script>
</body>

</html>
