<!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/CacheConfiguration.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>CacheConfiguration (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="CacheConfiguration (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/CacheConfiguration.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/AtomicConfiguration.html" title="class in org.apache.ignite.configuration"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/ignite/configuration/CacheQueryConfiguration.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/CacheConfiguration.html" target="_top">Frames</a></li>
<li><a href="CacheConfiguration.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 CacheConfiguration" class="title">Class CacheConfiguration<span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span></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>javax.cache.configuration.MutableConfiguration<span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span></li>
<li>
<ul class="inheritance">
<li>org.apache.ignite.configuration.CacheConfiguration<span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span></li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, javax.cache.configuration.CompleteConfiguration<span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span>, javax.cache.configuration.Configuration<span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">CacheConfiguration<span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span></span>
extends javax.cache.configuration.MutableConfiguration<span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span></pre>
<div class="block">This class defines grid cache configuration. This configuration is passed to
 grid via <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getCacheConfiguration()"><code>IgniteConfiguration.getCacheConfiguration()</code></a> method. It defines all configuration
 parameters required to start a cache within grid instance. You can have multiple caches
 configured with different names within one grid.
 <p>
 Cache configuration is set on <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setCacheConfiguration(org.apache.ignite.configuration.CacheConfiguration...)"><code>IgniteConfiguration.setCacheConfiguration(CacheConfiguration...)</code></a> method. This adapter is a simple bean and
 can be configured from Spring XML files (or other DI frameworks). <p> Note that absolutely all configuration
 properties are optional, so users should only change what they need.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../serialized-form.html#org.apache.ignite.configuration.CacheConfiguration">Serialized Form</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="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/CacheConfiguration.html#DFLT_BACKUPS">DFLT_BACKUPS</a></strong></code>
<div class="block">Default number of backups.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../org/apache/ignite/cache/CacheAtomicityMode.html" title="enum in org.apache.ignite.cache">CacheAtomicityMode</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_CACHE_ATOMICITY_MODE">DFLT_CACHE_ATOMICITY_MODE</a></strong></code>
<div class="block">Default atomicity mode.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../org/apache/ignite/cache/CacheMode.html" title="enum in org.apache.ignite.cache">CacheMode</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_CACHE_MODE">DFLT_CACHE_MODE</a></strong></code>
<div class="block">Default caching mode.</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/CacheConfiguration.html#DFLT_CACHE_SIZE">DFLT_CACHE_SIZE</a></strong></code>
<div class="block">Default cache size to use with eviction policy.</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/CacheConfiguration.html#DFLT_COPY_ON_READ">DFLT_COPY_ON_READ</a></strong></code>
<div class="block">Default value for 'copyOnRead' flag.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../org/apache/ignite/cache/CacheDistributionMode.html" title="enum in org.apache.ignite.cache">CacheDistributionMode</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_DISTRIBUTION_MODE">DFLT_DISTRIBUTION_MODE</a></strong></code>
<div class="block">Default value for cache distribution mode.</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/CacheConfiguration.html#DFLT_EAGER_TTL">DFLT_EAGER_TTL</a></strong></code>
<div class="block">Default value for eager ttl flag.</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/CacheConfiguration.html#DFLT_EVICT_KEY_BUFFER_SIZE">DFLT_EVICT_KEY_BUFFER_SIZE</a></strong></code>
<div class="block">Default eviction key buffer size for batching synchronized evicts.</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/CacheConfiguration.html#DFLT_EVICT_NEAR_SYNCHRONIZED">DFLT_EVICT_NEAR_SYNCHRONIZED</a></strong></code>
<div class="block">Default near nodes eviction synchronized flag.</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/CacheConfiguration.html#DFLT_EVICT_SYNCHRONIZED">DFLT_EVICT_SYNCHRONIZED</a></strong></code>
<div class="block">Default eviction synchronized 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/CacheConfiguration.html#DFLT_EVICT_SYNCHRONIZED_CONCURRENCY_LEVEL">DFLT_EVICT_SYNCHRONIZED_CONCURRENCY_LEVEL</a></strong></code>
<div class="block">Default synchronous eviction concurrency level.</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/CacheConfiguration.html#DFLT_EVICT_SYNCHRONIZED_TIMEOUT">DFLT_EVICT_SYNCHRONIZED_TIMEOUT</a></strong></code>
<div class="block">Default synchronous eviction timeout in milliseconds.</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/CacheConfiguration.html#DFLT_INVALIDATE">DFLT_INVALIDATE</a></strong></code>
<div class="block">Default value for 'invalidate' flag that indicates if this is invalidation-based cache.</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/CacheConfiguration.html#DFLT_LOAD_PREV_VAL">DFLT_LOAD_PREV_VAL</a></strong></code>
<div class="block">Default value for load previous value flag.</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/CacheConfiguration.html#DFLT_LOCK_TIMEOUT">DFLT_LOCK_TIMEOUT</a></strong></code>
<div class="block">Default lock timeout.</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/CacheConfiguration.html#DFLT_MAX_CONCURRENT_ASYNC_OPS">DFLT_MAX_CONCURRENT_ASYNC_OPS</a></strong></code>
<div class="block">Default value for 'maxConcurrentAsyncOps'.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static float</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_MAX_EVICTION_OVERFLOW_RATIO">DFLT_MAX_EVICTION_OVERFLOW_RATIO</a></strong></code>
<div class="block">Default maximum eviction queue ratio.</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/CacheConfiguration.html#DFLT_MAX_QUERY_ITERATOR_CNT">DFLT_MAX_QUERY_ITERATOR_CNT</a></strong></code>
<div class="block">Default maximum number of query iterators that can be stored.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../org/apache/ignite/cache/CacheMemoryMode.html" title="enum in org.apache.ignite.cache">CacheMemoryMode</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_MEMORY_MODE">DFLT_MEMORY_MODE</a></strong></code>
<div class="block">Default memory mode.</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/CacheConfiguration.html#DFLT_NEAR_START_SIZE">DFLT_NEAR_START_SIZE</a></strong></code>
<div class="block">Initial default near cache size.</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/CacheConfiguration.html#DFLT_OFFHEAP_MEMORY">DFLT_OFFHEAP_MEMORY</a></strong></code>
<div class="block">Default off-heap storage size is <code>-1</code> which means that off-heap storage is disabled.</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/CacheConfiguration.html#DFLT_QUERY_INDEX_ENABLED">DFLT_QUERY_INDEX_ENABLED</a></strong></code>
<div class="block">Default value for 'queryIndexEnabled' flag.</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/CacheConfiguration.html#DFLT_QUERY_TIMEOUT">DFLT_QUERY_TIMEOUT</a></strong></code>
<div class="block">Default query timeout.</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/CacheConfiguration.html#DFLT_READ_FROM_BACKUP">DFLT_READ_FROM_BACKUP</a></strong></code>
<div class="block">Default value for 'readFromBackup' 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/CacheConfiguration.html#DFLT_REBALANCE_BATCH_SIZE">DFLT_REBALANCE_BATCH_SIZE</a></strong></code>
<div class="block">Default rebalance batch size in bytes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../org/apache/ignite/cache/CacheRebalanceMode.html" title="enum in org.apache.ignite.cache">CacheRebalanceMode</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_REBALANCE_MODE">DFLT_REBALANCE_MODE</a></strong></code>
<div class="block">Default rebalance mode for distributed cache.</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/CacheConfiguration.html#DFLT_REBALANCE_THREAD_POOL_SIZE">DFLT_REBALANCE_THREAD_POOL_SIZE</a></strong></code>
<div class="block">Default size of rebalance 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/CacheConfiguration.html#DFLT_REBALANCE_THROTTLE">DFLT_REBALANCE_THROTTLE</a></strong></code>
<div class="block">Time in milliseconds to wait between rebalance messages to avoid overloading CPU.</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/CacheConfiguration.html#DFLT_REBALANCE_TIMEOUT">DFLT_REBALANCE_TIMEOUT</a></strong></code>
<div class="block">Default rebalance timeout (ms).</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/CacheConfiguration.html#DFLT_START_SIZE">DFLT_START_SIZE</a></strong></code>
<div class="block">Initial default cache size.</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/CacheConfiguration.html#DFLT_SWAP_ENABLED">DFLT_SWAP_ENABLED</a></strong></code>
<div class="block">Default value for 'swapEnabled' 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/CacheConfiguration.html#DFLT_TIME_TO_LIVE">DFLT_TIME_TO_LIVE</a></strong></code>
<div class="block">Default time to live.</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/CacheConfiguration.html#DFLT_WRITE_BEHIND_BATCH_SIZE">DFLT_WRITE_BEHIND_BATCH_SIZE</a></strong></code>
<div class="block">Default batch size for write-behind cache store.</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/CacheConfiguration.html#DFLT_WRITE_BEHIND_CRITICAL_SIZE">DFLT_WRITE_BEHIND_CRITICAL_SIZE</a></strong></code>
<div class="block">Default critical size used when flush size is not specified.</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/CacheConfiguration.html#DFLT_WRITE_BEHIND_ENABLED">DFLT_WRITE_BEHIND_ENABLED</a></strong></code>
<div class="block">Default value for 'writeBehindEnabled' 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/CacheConfiguration.html#DFLT_WRITE_BEHIND_FLUSH_FREQUENCY">DFLT_WRITE_BEHIND_FLUSH_FREQUENCY</a></strong></code>
<div class="block">Default flush frequency for write-behind cache store in milliseconds.</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/CacheConfiguration.html#DFLT_WRITE_BEHIND_FLUSH_SIZE">DFLT_WRITE_BEHIND_FLUSH_SIZE</a></strong></code>
<div class="block">Default flush size for write-behind cache store.</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/CacheConfiguration.html#DFLT_WRITE_FROM_BEHIND_FLUSH_THREAD_CNT">DFLT_WRITE_FROM_BEHIND_FLUSH_THREAD_CNT</a></strong></code>
<div class="block">Default count of flush threads for write-behind cache store.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_javax.cache.configuration.MutableConfiguration">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;javax.cache.configuration.MutableConfiguration</h3>
<code>cacheLoaderFactory, cacheWriterFactory, expiryPolicyFactory, isManagementEnabled, isReadThrough, isStatisticsEnabled, isStoreByValue, isWriteThrough, keyType, listenerConfigurations, valueType</code></li>
</ul>
</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/CacheConfiguration.html#CacheConfiguration()">CacheConfiguration</a></strong>()</code>
<div class="block">Empty constructor (all values are initialized to their defaults).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#CacheConfiguration(javax.cache.configuration.CompleteConfiguration)">CacheConfiguration</a></strong>(javax.cache.configuration.CompleteConfiguration&nbsp;cfg)</code>
<div class="block">Copy constructor.</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/cache/affinity/CacheAffinityFunction.html" title="interface in org.apache.ignite.cache.affinity">CacheAffinityFunction</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getAffinity()">getAffinity</a></strong>()</code>
<div class="block">Gets key topology resolver to provide mapping from keys to nodes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/cache/affinity/CacheAffinityKeyMapper.html" title="interface in org.apache.ignite.cache.affinity">CacheAffinityKeyMapper</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getAffinityMapper()">getAffinityMapper</a></strong>()</code>
<div class="block">Affinity key mapper used to provide custom affinity key for any given key.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/cache/CacheAtomicityMode.html" title="enum in org.apache.ignite.cache">CacheAtomicityMode</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getAtomicityMode()">getAtomicityMode</a></strong>()</code>
<div class="block">Gets cache atomicity mode.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/cache/CacheAtomicWriteOrderMode.html" title="enum in org.apache.ignite.cache">CacheAtomicWriteOrderMode</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getAtomicWriteOrderMode()">getAtomicWriteOrderMode</a></strong>()</code>
<div class="block">Gets cache write ordering mode.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getBackups()">getBackups</a></strong>()</code>
<div class="block">Gets number of nodes used to back up single partition for <a href="../../../../org/apache/ignite/cache/CacheMode.html#PARTITIONED"><code>CacheMode.PARTITIONED</code></a> cache.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/cache/CacheMode.html" title="enum in org.apache.ignite.cache">CacheMode</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getCacheMode()">getCacheMode</a></strong>()</code>
<div class="block">Gets caching mode to use.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>javax.cache.configuration.Factory<span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/cache/store/CacheStore.html" title="interface in org.apache.ignite.cache.store">CacheStore</a><span class='angle_bracket'>&lt;</span>? super <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">K</a>,? super <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">V</a><span class='angle_bracket'>&gt;</span><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getCacheStoreFactory()">getCacheStoreFactory</a></strong>()</code>
<div class="block">Gets factory for underlying persistent storage for read-through and write-through operations.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getDefaultLockTimeout()">getDefaultLockTimeout</a></strong>()</code>
<div class="block">Gets default lock acquisition timeout.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getDefaultQueryTimeout()">getDefaultQueryTimeout</a></strong>()</code>
<div class="block">Gets default query timeout.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getDefaultTimeToLive()">getDefaultTimeToLive</a></strong>()</code>
<div class="block">Gets time to live for all objects in cache.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/cache/CacheDistributionMode.html" title="enum in org.apache.ignite.cache">CacheDistributionMode</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getDistributionMode()">getDistributionMode</a></strong>()</code>
<div class="block">Gets cache distribution mode.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/cache/eviction/CacheEvictionFilter.html" title="interface in org.apache.ignite.cache.eviction">CacheEvictionFilter</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">K</a>,<a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">V</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getEvictionFilter()">getEvictionFilter</a></strong>()</code>
<div class="block">Gets eviction filter to specify which entries should not be evicted
 (except explicit evict by calling <a href="../../../../org/apache/ignite/IgniteCache.html#localEvict(java.util.Collection)"><code>IgniteCache.localEvict(Collection)</code></a>).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/cache/eviction/CacheEvictionPolicy.html" title="interface in org.apache.ignite.cache.eviction">CacheEvictionPolicy</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">K</a>,<a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">V</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getEvictionPolicy()">getEvictionPolicy</a></strong>()</code>
<div class="block">Gets cache eviction policy.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getEvictMaxOverflowRatio()">getEvictMaxOverflowRatio</a></strong>()</code>
<div class="block">This value denotes the maximum size of eviction queue in percents of cache
 size in case of distributed cache (replicated and partitioned) and using
 synchronized eviction (that is if <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#isEvictSynchronized()"><code>isEvictSynchronized()</code></a> returns
 <code>true</code>).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getEvictSynchronizedConcurrencyLevel()">getEvictSynchronizedConcurrencyLevel</a></strong>()</code>
<div class="block">Gets concurrency level for synchronized evictions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getEvictSynchronizedKeyBufferSize()">getEvictSynchronizedKeyBufferSize</a></strong>()</code>
<div class="block">Gets size of the key buffer for synchronized evictions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getEvictSynchronizedTimeout()">getEvictSynchronizedTimeout</a></strong>()</code>
<div class="block">Gets timeout for synchronized evictions.</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/CacheConfiguration.html#getIndexingSpiName()">getIndexingSpiName</a></strong>()</code>
<div class="block">Gets name of the SPI to use for indexing.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/cache/CacheInterceptor.html" title="interface in org.apache.ignite.cache">CacheInterceptor</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">K</a>,<a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">V</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getInterceptor()">getInterceptor</a></strong>()</code>
<div class="block">Gets cache interceptor.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getMaxConcurrentAsyncOperations()">getMaxConcurrentAsyncOperations</a></strong>()</code>
<div class="block">Gets maximum number of allowed concurrent asynchronous operations.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getMaximumQueryIteratorCount()">getMaximumQueryIteratorCount</a></strong>()</code>
<div class="block">Gets maximum number of query iterators that can be stored.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/cache/CacheMemoryMode.html" title="enum in org.apache.ignite.cache">CacheMemoryMode</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getMemoryMode()">getMemoryMode</a></strong>()</code>
<div class="block">Gets memory mode for cache.</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/CacheConfiguration.html#getName()">getName</a></strong>()</code>
<div class="block">Cache name.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/cache/eviction/CacheEvictionPolicy.html" title="interface in org.apache.ignite.cache.eviction">CacheEvictionPolicy</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">K</a>,<a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">V</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getNearEvictionPolicy()">getNearEvictionPolicy</a></strong>()</code>
<div class="block">Gets eviction policy for <code>near</code> cache which is different from the one used for
 <code>partitioned</code> cache.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getNearStartSize()">getNearStartSize</a></strong>()</code>
<div class="block">Gets initial cache size for near cache which will be used to pre-create internal
 hash table after start.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getOffHeapMaxMemory()">getOffHeapMaxMemory</a></strong>()</code>
<div class="block">Gets maximum amount of memory available to off-heap storage.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/configuration/CacheQueryConfiguration.html" title="class in org.apache.ignite.configuration">CacheQueryConfiguration</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getQueryConfiguration()">getQueryConfiguration</a></strong>()</code>
<div class="block">Gets query configuration.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getRebalanceBatchSize()">getRebalanceBatchSize</a></strong>()</code>
<div class="block">Gets size (in number bytes) to be loaded within a single rebalance message.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getRebalanceDelay()">getRebalanceDelay</a></strong>()</code>
<div class="block">Gets delay in milliseconds upon a node joining or leaving topology (or crash) after which rebalancing
 should be started automatically.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/cache/CacheRebalanceMode.html" title="enum in org.apache.ignite.cache">CacheRebalanceMode</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getRebalanceMode()">getRebalanceMode</a></strong>()</code>
<div class="block">Gets rebalance mode for distributed cache.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getRebalanceOrder()">getRebalanceOrder</a></strong>()</code>
<div class="block">Gets cache rebalance order.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getRebalanceThreadPoolSize()">getRebalanceThreadPoolSize</a></strong>()</code>
<div class="block">Gets size of rebalancing thread pool.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getRebalanceThrottle()">getRebalanceThrottle</a></strong>()</code>
<div class="block">Time in milliseconds to wait between rebalance messages to avoid overloading of CPU or network.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getRebalanceTimeout()">getRebalanceTimeout</a></strong>()</code>
<div class="block">Gets rebalance timeout (ms).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getStartSize()">getStartSize</a></strong>()</code>
<div class="block">Gets initial cache size which will be used to pre-create internal
 hash table after start.</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/CacheConfiguration.html#getTransactionManagerLookupClassName()">getTransactionManagerLookupClassName</a></strong>()</code>
<div class="block">Gets class name of transaction manager finder for integration for JEE app servers.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/cache/CacheTypeMetadata.html" title="class in org.apache.ignite.cache">CacheTypeMetadata</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getTypeMetadata()">getTypeMetadata</a></strong>()</code>
<div class="block">Gets collection of type metadata objects.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getWriteBehindBatchSize()">getWriteBehindBatchSize</a></strong>()</code>
<div class="block">Maximum batch size for write-behind cache store operations.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getWriteBehindFlushFrequency()">getWriteBehindFlushFrequency</a></strong>()</code>
<div class="block">Frequency with which write-behind cache is flushed to the cache store in milliseconds.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getWriteBehindFlushSize()">getWriteBehindFlushSize</a></strong>()</code>
<div class="block">Maximum size of the write-behind cache.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getWriteBehindFlushThreadCount()">getWriteBehindFlushThreadCount</a></strong>()</code>
<div class="block">Number of threads that will perform cache flushing.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/cache/CacheWriteSynchronizationMode.html" title="enum in org.apache.ignite.cache">CacheWriteSynchronizationMode</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getWriteSynchronizationMode()">getWriteSynchronizationMode</a></strong>()</code>
<div class="block">Gets write synchronization mode.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#isCopyOnRead()">isCopyOnRead</a></strong>()</code>
<div class="block">Gets flag indicating whether copy of of the value stored in cache should be created
 for cache operation implying return value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#isEagerTtl()">isEagerTtl</a></strong>()</code>
<div class="block">Gets flag indicating whether expired cache entries will be eagerly removed from cache.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#isEvictNearSynchronized()">isEvictNearSynchronized</a></strong>()</code>
<div class="block">Gets flag indicating whether eviction on primary node is synchronized with
 near nodes where entry is kept.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#isEvictSynchronized()">isEvictSynchronized</a></strong>()</code>
<div class="block">Gets flag indicating whether eviction is synchronized between primary and
 backup nodes on partitioned cache.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#isInvalidate()">isInvalidate</a></strong>()</code>
<div class="block">Invalidation 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/CacheConfiguration.html#isLoadPreviousValue()">isLoadPreviousValue</a></strong>()</code>
<div class="block">Gets flag indicating whether value should be loaded from store if it is not in the cache
 for following cache operations:
 
     <a href="../../../../org/apache/ignite/IgniteCache.html#putIfAbsent(K, V)"><code>IgniteCache.putIfAbsent(Object, Object)</code></a>
     <a href="../../../../org/apache/ignite/IgniteCache.html#replace(K, V)"><code>IgniteCache.replace(Object, Object)</code></a>
     <a href="../../../../org/apache/ignite/IgniteCache.html#replace(K, V, V)"><code>IgniteCache.replace(Object, Object, Object)</code></a>
     <a href="../../../../org/apache/ignite/IgniteCache.html#remove(K, V)"><code>IgniteCache.remove(Object, Object)</code></a>
     <a href="../../../../org/apache/ignite/IgniteCache.html#getAndPut(K, V)"><code>IgniteCache.getAndPut(Object, Object)</code></a>
     <a href="../../../../org/apache/ignite/IgniteCache.html#getAndRemove(K)"><code>IgniteCache.getAndRemove(Object)</code></a>
     <a href="../../../../org/apache/ignite/IgniteCache.html#getAndReplace(K, V)"><code>IgniteCache.getAndReplace(Object, Object)</code></a>
     <a href="../../../../org/apache/ignite/IgniteCache.html#getAndPutIfAbsent(K, V)"><code>IgniteCache.getAndPutIfAbsent(Object, Object)</code></a>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#isQueryIndexEnabled()">isQueryIndexEnabled</a></strong>()</code>
<div class="block">Flag indicating whether Ignite should attempt to index value and/or key instances
 stored in cache.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#isReadFromBackup()">isReadFromBackup</a></strong>()</code>
<div class="block">Gets flag indicating whether data can be read from backup.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#isSwapEnabled()">isSwapEnabled</a></strong>()</code>
<div class="block">Flag indicating whether Ignite should use swap storage by default.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#isWriteBehindEnabled()">isWriteBehindEnabled</a></strong>()</code>
<div class="block">Flag indicating whether Ignite should use write-behind behaviour for the cache store.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setAffinity(org.apache.ignite.cache.affinity.CacheAffinityFunction)">setAffinity</a></strong>(<a href="../../../../org/apache/ignite/cache/affinity/CacheAffinityFunction.html" title="interface in org.apache.ignite.cache.affinity">CacheAffinityFunction</a>&nbsp;aff)</code>
<div class="block">Sets affinity for cache keys.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setAffinityMapper(org.apache.ignite.cache.affinity.CacheAffinityKeyMapper)">setAffinityMapper</a></strong>(<a href="../../../../org/apache/ignite/cache/affinity/CacheAffinityKeyMapper.html" title="interface in org.apache.ignite.cache.affinity">CacheAffinityKeyMapper</a>&nbsp;affMapper)</code>
<div class="block">Sets custom affinity mapper.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setAtomicityMode(org.apache.ignite.cache.CacheAtomicityMode)">setAtomicityMode</a></strong>(<a href="../../../../org/apache/ignite/cache/CacheAtomicityMode.html" title="enum in org.apache.ignite.cache">CacheAtomicityMode</a>&nbsp;atomicityMode)</code>
<div class="block">Sets cache atomicity mode.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setAtomicWriteOrderMode(org.apache.ignite.cache.CacheAtomicWriteOrderMode)">setAtomicWriteOrderMode</a></strong>(<a href="../../../../org/apache/ignite/cache/CacheAtomicWriteOrderMode.html" title="enum in org.apache.ignite.cache">CacheAtomicWriteOrderMode</a>&nbsp;atomicWriteOrderMode)</code>
<div class="block">Sets cache write ordering 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/CacheConfiguration.html#setBackups(int)">setBackups</a></strong>(int&nbsp;backups)</code>
<div class="block">Sets number of nodes used to back up single partition for <a href="../../../../org/apache/ignite/cache/CacheMode.html#PARTITIONED"><code>CacheMode.PARTITIONED</code></a> 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/CacheConfiguration.html#setCacheMode(org.apache.ignite.cache.CacheMode)">setCacheMode</a></strong>(<a href="../../../../org/apache/ignite/cache/CacheMode.html" title="enum in org.apache.ignite.cache">CacheMode</a>&nbsp;cacheMode)</code>
<div class="block">Sets caching 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/CacheConfiguration.html#setCacheStoreFactory(javax.cache.configuration.Factory)">setCacheStoreFactory</a></strong>(javax.cache.configuration.Factory<span class='angle_bracket'>&lt;</span>? extends <a href="../../../../org/apache/ignite/cache/store/CacheStore.html" title="interface in org.apache.ignite.cache.store">CacheStore</a><span class='angle_bracket'>&lt;</span>? super <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">K</a>,? super <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">V</a><span class='angle_bracket'>&gt;</span><span class='angle_bracket'>&gt;</span>&nbsp;storeFactory)</code>
<div class="block">Sets factory fpr persistent storage for cache data.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setCopyOnRead(boolean)">setCopyOnRead</a></strong>(boolean&nbsp;cpOnGet)</code>
<div class="block">Set copy on get 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/CacheConfiguration.html#setDefaultLockTimeout(long)">setDefaultLockTimeout</a></strong>(long&nbsp;dfltLockTimeout)</code>
<div class="block">Sets default lock timeout in milliseconds.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setDefaultQueryTimeout(long)">setDefaultQueryTimeout</a></strong>(long&nbsp;dfltQryTimeout)</code>
<div class="block">Sets default query timeout, <code>0</code> for never.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setDefaultTimeToLive(long)">setDefaultTimeToLive</a></strong>(long&nbsp;ttl)</code>
<div class="block">Sets time to live for all objects in 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/CacheConfiguration.html#setDistributionMode(org.apache.ignite.cache.CacheDistributionMode)">setDistributionMode</a></strong>(<a href="../../../../org/apache/ignite/cache/CacheDistributionMode.html" title="enum in org.apache.ignite.cache">CacheDistributionMode</a>&nbsp;distro)</code>
<div class="block">Sets cache distribution 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/CacheConfiguration.html#setEagerTtl(boolean)">setEagerTtl</a></strong>(boolean&nbsp;eagerTtl)</code>
<div class="block">Sets eager ttl 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/CacheConfiguration.html#setEvictionFilter(org.apache.ignite.cache.eviction.CacheEvictionFilter)">setEvictionFilter</a></strong>(<a href="../../../../org/apache/ignite/cache/eviction/CacheEvictionFilter.html" title="interface in org.apache.ignite.cache.eviction">CacheEvictionFilter</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">K</a>,<a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">V</a><span class='angle_bracket'>&gt;</span>&nbsp;evictFilter)</code>
<div class="block">Sets eviction filter.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setEvictionPolicy(org.apache.ignite.cache.eviction.CacheEvictionPolicy)">setEvictionPolicy</a></strong>(<a href="../../../../org/apache/ignite/cache/eviction/CacheEvictionPolicy.html" title="interface in org.apache.ignite.cache.eviction">CacheEvictionPolicy</a>&nbsp;evictPlc)</code>
<div class="block">Sets cache eviction policy.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setEvictMaxOverflowRatio(float)">setEvictMaxOverflowRatio</a></strong>(float&nbsp;evictMaxOverflowRatio)</code>
<div class="block">Sets maximum eviction overflow ratio.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setEvictNearSynchronized(boolean)">setEvictNearSynchronized</a></strong>(boolean&nbsp;evictNearSync)</code>
<div class="block">Sets flag indicating whether eviction is synchronized with near nodes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setEvictSynchronized(boolean)">setEvictSynchronized</a></strong>(boolean&nbsp;evictSync)</code>
<div class="block">Sets flag indicating whether eviction is synchronized with backup nodes (or the rest of the nodes for replicated
 cache).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setEvictSynchronizedConcurrencyLevel(int)">setEvictSynchronizedConcurrencyLevel</a></strong>(int&nbsp;evictSyncConcurrencyLvl)</code>
<div class="block">Sets concurrency level for synchronized evictions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setEvictSynchronizedKeyBufferSize(int)">setEvictSynchronizedKeyBufferSize</a></strong>(int&nbsp;evictKeyBufSize)</code>
<div class="block">Sets eviction key buffer size.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setEvictSynchronizedTimeout(long)">setEvictSynchronizedTimeout</a></strong>(long&nbsp;evictSyncTimeout)</code>
<div class="block">Sets timeout for synchronized evictions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setIndexingSpiName(java.lang.String)">setIndexingSpiName</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;indexingSpiName)</code>
<div class="block">Sets name of the SPI to use for indexing.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setInterceptor(org.apache.ignite.cache.CacheInterceptor)">setInterceptor</a></strong>(<a href="../../../../org/apache/ignite/cache/CacheInterceptor.html" title="interface in org.apache.ignite.cache">CacheInterceptor</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">K</a>,<a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">V</a><span class='angle_bracket'>&gt;</span>&nbsp;interceptor)</code>
<div class="block">Sets cache interceptor.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setInvalidate(boolean)">setInvalidate</a></strong>(boolean&nbsp;invalidate)</code>
<div class="block">Sets invalidation flag for near cache entries in this transaction.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setLoadPreviousValue(boolean)">setLoadPreviousValue</a></strong>(boolean&nbsp;loadPrevVal)</code>
<div class="block">Sets flag indicating whether value should be loaded from store if it is not in the cache
 for following cache operations:
 
     <a href="../../../../org/apache/ignite/IgniteCache.html#putIfAbsent(K, V)"><code>IgniteCache.putIfAbsent(Object, Object)</code></a>
     <a href="../../../../org/apache/ignite/IgniteCache.html#replace(K, V)"><code>IgniteCache.replace(Object, Object)</code></a>
     <a href="../../../../org/apache/ignite/IgniteCache.html#replace(K, V, V)"><code>IgniteCache.replace(Object, Object, Object)</code></a>
     <a href="../../../../org/apache/ignite/IgniteCache.html#remove(K, V)"><code>IgniteCache.remove(Object, Object)</code></a>
     <a href="../../../../org/apache/ignite/IgniteCache.html#getAndPut(K, V)"><code>IgniteCache.getAndPut(Object, Object)</code></a>
     <a href="../../../../org/apache/ignite/IgniteCache.html#getAndRemove(K)"><code>IgniteCache.getAndRemove(Object)</code></a>
     <a href="../../../../org/apache/ignite/IgniteCache.html#getAndReplace(K, V)"><code>IgniteCache.getAndReplace(Object, Object)</code></a>
     <a href="../../../../org/apache/ignite/IgniteCache.html#getAndPutIfAbsent(K, V)"><code>IgniteCache.getAndPutIfAbsent(Object, Object)</code></a>

 When not set, default value is <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_LOAD_PREV_VAL"><code>DFLT_LOAD_PREV_VAL</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/CacheConfiguration.html#setMaxConcurrentAsyncOperations(int)">setMaxConcurrentAsyncOperations</a></strong>(int&nbsp;maxConcurrentAsyncOps)</code>
<div class="block">Sets maximum number of concurrent asynchronous operations.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setMaximumQueryIteratorCount(int)">setMaximumQueryIteratorCount</a></strong>(int&nbsp;maxQryIterCnt)</code>
<div class="block">Sets maximum number of query iterators that can be stored.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setMemoryMode(org.apache.ignite.cache.CacheMemoryMode)">setMemoryMode</a></strong>(<a href="../../../../org/apache/ignite/cache/CacheMemoryMode.html" title="enum in org.apache.ignite.cache">CacheMemoryMode</a>&nbsp;memMode)</code>
<div class="block">Sets memory mode for cache.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setName(java.lang.String)">setName</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;name)</code>
<div class="block">Sets cache name.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setNearEvictionPolicy(org.apache.ignite.cache.eviction.CacheEvictionPolicy)">setNearEvictionPolicy</a></strong>(<a href="../../../../org/apache/ignite/cache/eviction/CacheEvictionPolicy.html" title="interface in org.apache.ignite.cache.eviction">CacheEvictionPolicy</a>&nbsp;nearEvictPlc)</code>
<div class="block">Sets eviction policy for near cache.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setNearStartSize(int)">setNearStartSize</a></strong>(int&nbsp;nearStartSize)</code>
<div class="block">Start size for near 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/CacheConfiguration.html#setOffHeapMaxMemory(long)">setOffHeapMaxMemory</a></strong>(long&nbsp;offHeapMaxMem)</code>
<div class="block">Sets maximum amount of memory available to off-heap storage.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setQueryConfiguration(org.apache.ignite.configuration.CacheQueryConfiguration)">setQueryConfiguration</a></strong>(<a href="../../../../org/apache/ignite/configuration/CacheQueryConfiguration.html" title="class in org.apache.ignite.configuration">CacheQueryConfiguration</a>&nbsp;qryCfg)</code>
<div class="block">Sets query 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/CacheConfiguration.html#setQueryIndexEnabled(boolean)">setQueryIndexEnabled</a></strong>(boolean&nbsp;qryIdxEnabled)</code>
<div class="block">Flag indicating whether query indexing is enabled or not.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setReadFromBackup(boolean)">setReadFromBackup</a></strong>(boolean&nbsp;readFromBackup)</code>
<div class="block">Sets read from backup 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/CacheConfiguration.html#setRebalanceBatchSize(int)">setRebalanceBatchSize</a></strong>(int&nbsp;rebalanceBatchSize)</code>
<div class="block">Sets rebalance batch size.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setRebalanceDelay(long)">setRebalanceDelay</a></strong>(long&nbsp;rebalanceDelay)</code>
<div class="block">Sets rebalance delay (see <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getRebalanceDelay()"><code>getRebalanceDelay()</code></a> for more information).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setRebalanceMode(org.apache.ignite.cache.CacheRebalanceMode)">setRebalanceMode</a></strong>(<a href="../../../../org/apache/ignite/cache/CacheRebalanceMode.html" title="enum in org.apache.ignite.cache">CacheRebalanceMode</a>&nbsp;rebalanceMode)</code>
<div class="block">Sets cache rebalance 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/CacheConfiguration.html#setRebalanceOrder(int)">setRebalanceOrder</a></strong>(int&nbsp;rebalanceOrder)</code>
<div class="block">Sets cache rebalance order.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setRebalanceThreadPoolSize(int)">setRebalanceThreadPoolSize</a></strong>(int&nbsp;rebalancePoolSize)</code>
<div class="block">Sets size of rebalancing thread pool.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setRebalanceThrottle(long)">setRebalanceThrottle</a></strong>(long&nbsp;rebalanceThrottle)</code>
<div class="block">Time in milliseconds to wait between rebalance messages to avoid overloading of CPU or network.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setRebalanceTimeout(long)">setRebalanceTimeout</a></strong>(long&nbsp;rebalanceTimeout)</code>
<div class="block">Sets rebalance timeout (ms).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setStartSize(int)">setStartSize</a></strong>(int&nbsp;startSize)</code>
<div class="block">Initial size for internal hash map.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setSwapEnabled(boolean)">setSwapEnabled</a></strong>(boolean&nbsp;swapEnabled)</code>
<div class="block">Flag indicating whether swap storage is enabled or not.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setTransactionManagerLookupClassName(java.lang.String)">setTransactionManagerLookupClassName</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;tmLookupClsName)</code>
<div class="block">Sets look up mechanism for available <code>TransactionManager</code> implementation, if any.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setTypeMetadata(java.util.Collection)">setTypeMetadata</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/cache/CacheTypeMetadata.html" title="class in org.apache.ignite.cache">CacheTypeMetadata</a><span class='angle_bracket'>&gt;</span>&nbsp;typeMeta)</code>
<div class="block">Sets collection of type metadata objects.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setWriteBehindBatchSize(int)">setWriteBehindBatchSize</a></strong>(int&nbsp;writeBehindBatchSize)</code>
<div class="block">Sets maximum batch size for write-behind 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/CacheConfiguration.html#setWriteBehindEnabled(boolean)">setWriteBehindEnabled</a></strong>(boolean&nbsp;writeBehindEnabled)</code>
<div class="block">Sets flag indicating whether write-behind is enabled.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setWriteBehindFlushFrequency(long)">setWriteBehindFlushFrequency</a></strong>(long&nbsp;writeBehindFlushFreq)</code>
<div class="block">Sets write-behind flush 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/CacheConfiguration.html#setWriteBehindFlushSize(int)">setWriteBehindFlushSize</a></strong>(int&nbsp;writeBehindFlushSize)</code>
<div class="block">Sets write-behind flush size.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#setWriteBehindFlushThreadCount(int)">setWriteBehindFlushThreadCount</a></strong>(int&nbsp;writeBehindFlushThreadCnt)</code>
<div class="block">Sets flush thread count for write-behind 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/CacheConfiguration.html#setWriteSynchronizationMode(org.apache.ignite.cache.CacheWriteSynchronizationMode)">setWriteSynchronizationMode</a></strong>(<a href="../../../../org/apache/ignite/cache/CacheWriteSynchronizationMode.html" title="enum in org.apache.ignite.cache">CacheWriteSynchronizationMode</a>&nbsp;writeSync)</code>
<div class="block">Sets write synchronization mode.</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/CacheConfiguration.html#toString()">toString</a></strong>()</code></td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_javax.cache.configuration.MutableConfiguration">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;javax.cache.configuration.MutableConfiguration</h3>
<code>addCacheEntryListenerConfiguration, equals, getCacheEntryListenerConfigurations, getCacheLoaderFactory, getCacheWriterFactory, getExpiryPolicyFactory, getKeyType, getValueType, hashCode, isManagementEnabled, isReadThrough, isStatisticsEnabled, isStoreByValue, isWriteThrough, removeCacheEntryListenerConfiguration, setCacheLoaderFactory, setCacheWriterFactory, setExpiryPolicyFactory, setManagementEnabled, setReadThrough, setStatisticsEnabled, setStoreByValue, setTypes, setWriteThrough</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/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#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#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="DFLT_REBALANCE_THREAD_POOL_SIZE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_REBALANCE_THREAD_POOL_SIZE</h4>
<pre>public static final&nbsp;int DFLT_REBALANCE_THREAD_POOL_SIZE</pre>
<div class="block">Default size of rebalance thread pool.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_REBALANCE_THREAD_POOL_SIZE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_REBALANCE_TIMEOUT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_REBALANCE_TIMEOUT</h4>
<pre>public static final&nbsp;long DFLT_REBALANCE_TIMEOUT</pre>
<div class="block">Default rebalance timeout (ms).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_REBALANCE_TIMEOUT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_REBALANCE_THROTTLE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_REBALANCE_THROTTLE</h4>
<pre>public static final&nbsp;long DFLT_REBALANCE_THROTTLE</pre>
<div class="block">Time in milliseconds to wait between rebalance messages to avoid overloading CPU.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_REBALANCE_THROTTLE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_TIME_TO_LIVE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_TIME_TO_LIVE</h4>
<pre>public static final&nbsp;long DFLT_TIME_TO_LIVE</pre>
<div class="block">Default time to live. The value is <tt>0</tt> which means that
 cached objects never expire based on time.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_TIME_TO_LIVE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_BACKUPS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_BACKUPS</h4>
<pre>public static final&nbsp;int DFLT_BACKUPS</pre>
<div class="block">Default number of backups.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_BACKUPS">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_CACHE_MODE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_CACHE_MODE</h4>
<pre>public static final&nbsp;<a href="../../../../org/apache/ignite/cache/CacheMode.html" title="enum in org.apache.ignite.cache">CacheMode</a> DFLT_CACHE_MODE</pre>
<div class="block">Default caching mode.</div>
</li>
</ul>
<a name="DFLT_CACHE_ATOMICITY_MODE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_CACHE_ATOMICITY_MODE</h4>
<pre>public static final&nbsp;<a href="../../../../org/apache/ignite/cache/CacheAtomicityMode.html" title="enum in org.apache.ignite.cache">CacheAtomicityMode</a> DFLT_CACHE_ATOMICITY_MODE</pre>
<div class="block">Default atomicity mode.</div>
</li>
</ul>
<a name="DFLT_DISTRIBUTION_MODE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_DISTRIBUTION_MODE</h4>
<pre>public static final&nbsp;<a href="../../../../org/apache/ignite/cache/CacheDistributionMode.html" title="enum in org.apache.ignite.cache">CacheDistributionMode</a> DFLT_DISTRIBUTION_MODE</pre>
<div class="block">Default value for cache distribution mode.</div>
</li>
</ul>
<a name="DFLT_QUERY_TIMEOUT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_QUERY_TIMEOUT</h4>
<pre>public static final&nbsp;long DFLT_QUERY_TIMEOUT</pre>
<div class="block">Default query timeout.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_QUERY_TIMEOUT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_LOCK_TIMEOUT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_LOCK_TIMEOUT</h4>
<pre>public static final&nbsp;long DFLT_LOCK_TIMEOUT</pre>
<div class="block">Default lock timeout.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_LOCK_TIMEOUT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_START_SIZE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_START_SIZE</h4>
<pre>public static final&nbsp;int DFLT_START_SIZE</pre>
<div class="block">Initial default cache size.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_START_SIZE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_CACHE_SIZE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_CACHE_SIZE</h4>
<pre>public static final&nbsp;int DFLT_CACHE_SIZE</pre>
<div class="block">Default cache size to use with eviction policy.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_CACHE_SIZE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_NEAR_START_SIZE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_NEAR_START_SIZE</h4>
<pre>public static final&nbsp;int DFLT_NEAR_START_SIZE</pre>
<div class="block">Initial default near cache size.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_NEAR_START_SIZE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_INVALIDATE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_INVALIDATE</h4>
<pre>public static final&nbsp;boolean DFLT_INVALIDATE</pre>
<div class="block">Default value for 'invalidate' flag that indicates if this is invalidation-based cache.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_INVALIDATE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_REBALANCE_MODE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_REBALANCE_MODE</h4>
<pre>public static final&nbsp;<a href="../../../../org/apache/ignite/cache/CacheRebalanceMode.html" title="enum in org.apache.ignite.cache">CacheRebalanceMode</a> DFLT_REBALANCE_MODE</pre>
<div class="block">Default rebalance mode for distributed cache.</div>
</li>
</ul>
<a name="DFLT_REBALANCE_BATCH_SIZE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_REBALANCE_BATCH_SIZE</h4>
<pre>public static final&nbsp;int DFLT_REBALANCE_BATCH_SIZE</pre>
<div class="block">Default rebalance batch size in bytes.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_REBALANCE_BATCH_SIZE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_MAX_EVICTION_OVERFLOW_RATIO">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MAX_EVICTION_OVERFLOW_RATIO</h4>
<pre>public static final&nbsp;float DFLT_MAX_EVICTION_OVERFLOW_RATIO</pre>
<div class="block">Default maximum eviction queue ratio.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_MAX_EVICTION_OVERFLOW_RATIO">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_EVICT_SYNCHRONIZED">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_EVICT_SYNCHRONIZED</h4>
<pre>public static final&nbsp;boolean DFLT_EVICT_SYNCHRONIZED</pre>
<div class="block">Default eviction synchronized flag.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_EVICT_SYNCHRONIZED">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_EVICT_NEAR_SYNCHRONIZED">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_EVICT_NEAR_SYNCHRONIZED</h4>
<pre>public static final&nbsp;boolean DFLT_EVICT_NEAR_SYNCHRONIZED</pre>
<div class="block">Default near nodes eviction synchronized flag.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_EVICT_NEAR_SYNCHRONIZED">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_EVICT_KEY_BUFFER_SIZE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_EVICT_KEY_BUFFER_SIZE</h4>
<pre>public static final&nbsp;int DFLT_EVICT_KEY_BUFFER_SIZE</pre>
<div class="block">Default eviction key buffer size for batching synchronized evicts.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_EVICT_KEY_BUFFER_SIZE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_EVICT_SYNCHRONIZED_TIMEOUT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_EVICT_SYNCHRONIZED_TIMEOUT</h4>
<pre>public static final&nbsp;long DFLT_EVICT_SYNCHRONIZED_TIMEOUT</pre>
<div class="block">Default synchronous eviction timeout in milliseconds.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_EVICT_SYNCHRONIZED_TIMEOUT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_EVICT_SYNCHRONIZED_CONCURRENCY_LEVEL">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_EVICT_SYNCHRONIZED_CONCURRENCY_LEVEL</h4>
<pre>public static final&nbsp;int DFLT_EVICT_SYNCHRONIZED_CONCURRENCY_LEVEL</pre>
<div class="block">Default synchronous eviction concurrency level.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_EVICT_SYNCHRONIZED_CONCURRENCY_LEVEL">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_EAGER_TTL">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_EAGER_TTL</h4>
<pre>public static final&nbsp;boolean DFLT_EAGER_TTL</pre>
<div class="block">Default value for eager ttl flag.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_EAGER_TTL">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_OFFHEAP_MEMORY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_OFFHEAP_MEMORY</h4>
<pre>public static final&nbsp;long DFLT_OFFHEAP_MEMORY</pre>
<div class="block">Default off-heap storage size is <code>-1</code> which means that off-heap storage is disabled.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_OFFHEAP_MEMORY">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_SWAP_ENABLED">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_SWAP_ENABLED</h4>
<pre>public static final&nbsp;boolean DFLT_SWAP_ENABLED</pre>
<div class="block">Default value for 'swapEnabled' flag.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_SWAP_ENABLED">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_MAX_CONCURRENT_ASYNC_OPS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MAX_CONCURRENT_ASYNC_OPS</h4>
<pre>public static final&nbsp;int DFLT_MAX_CONCURRENT_ASYNC_OPS</pre>
<div class="block">Default value for 'maxConcurrentAsyncOps'.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_MAX_CONCURRENT_ASYNC_OPS">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_QUERY_INDEX_ENABLED">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_QUERY_INDEX_ENABLED</h4>
<pre>public static final&nbsp;boolean DFLT_QUERY_INDEX_ENABLED</pre>
<div class="block">Default value for 'queryIndexEnabled' flag.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_QUERY_INDEX_ENABLED">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_WRITE_BEHIND_ENABLED">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_WRITE_BEHIND_ENABLED</h4>
<pre>public static final&nbsp;boolean DFLT_WRITE_BEHIND_ENABLED</pre>
<div class="block">Default value for 'writeBehindEnabled' flag.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_WRITE_BEHIND_ENABLED">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_WRITE_BEHIND_FLUSH_SIZE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_WRITE_BEHIND_FLUSH_SIZE</h4>
<pre>public static final&nbsp;int DFLT_WRITE_BEHIND_FLUSH_SIZE</pre>
<div class="block">Default flush size for write-behind cache store.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_WRITE_BEHIND_FLUSH_SIZE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_WRITE_BEHIND_CRITICAL_SIZE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_WRITE_BEHIND_CRITICAL_SIZE</h4>
<pre>public static final&nbsp;int DFLT_WRITE_BEHIND_CRITICAL_SIZE</pre>
<div class="block">Default critical size used when flush size is not specified.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_WRITE_BEHIND_CRITICAL_SIZE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_WRITE_BEHIND_FLUSH_FREQUENCY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_WRITE_BEHIND_FLUSH_FREQUENCY</h4>
<pre>public static final&nbsp;long DFLT_WRITE_BEHIND_FLUSH_FREQUENCY</pre>
<div class="block">Default flush frequency for write-behind cache store in milliseconds.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_WRITE_BEHIND_FLUSH_FREQUENCY">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_WRITE_FROM_BEHIND_FLUSH_THREAD_CNT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_WRITE_FROM_BEHIND_FLUSH_THREAD_CNT</h4>
<pre>public static final&nbsp;int DFLT_WRITE_FROM_BEHIND_FLUSH_THREAD_CNT</pre>
<div class="block">Default count of flush threads for write-behind cache store.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_WRITE_FROM_BEHIND_FLUSH_THREAD_CNT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_WRITE_BEHIND_BATCH_SIZE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_WRITE_BEHIND_BATCH_SIZE</h4>
<pre>public static final&nbsp;int DFLT_WRITE_BEHIND_BATCH_SIZE</pre>
<div class="block">Default batch size for write-behind cache store.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_WRITE_BEHIND_BATCH_SIZE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_MAX_QUERY_ITERATOR_CNT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MAX_QUERY_ITERATOR_CNT</h4>
<pre>public static final&nbsp;int DFLT_MAX_QUERY_ITERATOR_CNT</pre>
<div class="block">Default maximum number of query iterators that can be stored.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_MAX_QUERY_ITERATOR_CNT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_LOAD_PREV_VAL">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_LOAD_PREV_VAL</h4>
<pre>public static final&nbsp;boolean DFLT_LOAD_PREV_VAL</pre>
<div class="block">Default value for load previous value flag.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_LOAD_PREV_VAL">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_MEMORY_MODE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MEMORY_MODE</h4>
<pre>public static final&nbsp;<a href="../../../../org/apache/ignite/cache/CacheMemoryMode.html" title="enum in org.apache.ignite.cache">CacheMemoryMode</a> DFLT_MEMORY_MODE</pre>
<div class="block">Default memory mode.</div>
</li>
</ul>
<a name="DFLT_READ_FROM_BACKUP">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_READ_FROM_BACKUP</h4>
<pre>public static final&nbsp;boolean DFLT_READ_FROM_BACKUP</pre>
<div class="block">Default value for 'readFromBackup' flag.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_READ_FROM_BACKUP">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_COPY_ON_READ">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DFLT_COPY_ON_READ</h4>
<pre>public static final&nbsp;boolean DFLT_COPY_ON_READ</pre>
<div class="block">Default value for 'copyOnRead' flag.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.CacheConfiguration.DFLT_COPY_ON_READ">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="CacheConfiguration()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CacheConfiguration</h4>
<pre>public&nbsp;CacheConfiguration()</pre>
<div class="block">Empty constructor (all values are initialized to their defaults).</div>
</li>
</ul>
<a name="CacheConfiguration(javax.cache.configuration.CompleteConfiguration)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CacheConfiguration</h4>
<pre>public&nbsp;CacheConfiguration(javax.cache.configuration.CompleteConfiguration&nbsp;cfg)</pre>
<div class="block">Copy constructor.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cfg</code> - Configuration to copy.</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="getName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</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;getName()</pre>
<div class="block">Cache name. If not provided or <code>null</code>, then this will be considered a default
 cache which can be accessed via <a href="../../../../org/apache/ignite/Ignite.html#jcache(java.lang.String)"><code>Ignite.jcache(String)</code></a> method. Otherwise, if name
 is provided, the cache will be accessed via <a href="../../../../org/apache/ignite/Ignite.html#jcache(java.lang.String)"><code>Ignite.jcache(String)</code></a> method.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Cache name.</dd></dl>
</li>
</ul>
<a name="setName(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setName</h4>
<pre>public&nbsp;void&nbsp;setName(<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;name)</pre>
<div class="block">Sets cache name.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - Cache name. May be <tt>null</tt>, but may not be empty string.</dd></dl>
</li>
</ul>
<a name="getDefaultTimeToLive()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultTimeToLive</h4>
<pre>public&nbsp;long&nbsp;getDefaultTimeToLive()</pre>
<div class="block">Gets time to live for all objects in cache. This value can be overridden for individual objects.
 If not set, then value is <code>0</code> which means that objects never expire.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Time to live for all objects in cache.</dd></dl>
</li>
</ul>
<a name="setDefaultTimeToLive(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDefaultTimeToLive</h4>
<pre>public&nbsp;void&nbsp;setDefaultTimeToLive(long&nbsp;ttl)</pre>
<div class="block">Sets time to live for all objects in cache. This value can be override for individual objects.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ttl</code> - Time to live for all objects in cache.</dd></dl>
</li>
</ul>
<a name="getEvictionPolicy()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEvictionPolicy</h4>
<pre>@Nullable
public&nbsp;<a href="../../../../org/apache/ignite/cache/eviction/CacheEvictionPolicy.html" title="interface in org.apache.ignite.cache.eviction">CacheEvictionPolicy</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">K</a>,<a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">V</a><span class='angle_bracket'>&gt;</span>&nbsp;getEvictionPolicy()</pre>
<div class="block">Gets cache eviction policy. By default, returns <code>null</code>
 which means that evictions are disabled for cache.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Cache eviction policy or <code>null</code> if evictions should be disabled.</dd></dl>
</li>
</ul>
<a name="setEvictionPolicy(org.apache.ignite.cache.eviction.CacheEvictionPolicy)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEvictionPolicy</h4>
<pre>public&nbsp;void&nbsp;setEvictionPolicy(@Nullable
                     <a href="../../../../org/apache/ignite/cache/eviction/CacheEvictionPolicy.html" title="interface in org.apache.ignite.cache.eviction">CacheEvictionPolicy</a>&nbsp;evictPlc)</pre>
<div class="block">Sets cache eviction policy.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>evictPlc</code> - Cache expiration policy.</dd></dl>
</li>
</ul>
<a name="getDistributionMode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDistributionMode</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/cache/CacheDistributionMode.html" title="enum in org.apache.ignite.cache">CacheDistributionMode</a>&nbsp;getDistributionMode()</pre>
<div class="block">Gets cache distribution mode. This parameter is taken into account only if
 <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getCacheMode()"><code>getCacheMode()</code></a> is set to <a href="../../../../org/apache/ignite/cache/CacheMode.html#PARTITIONED"><code>CacheMode.PARTITIONED</code></a> or <a href="../../../../org/apache/ignite/cache/CacheMode.html#REPLICATED"><code>CacheMode.REPLICATED</code></a> mode.
 <p>
 If not set, default value is <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_DISTRIBUTION_MODE"><code>DFLT_DISTRIBUTION_MODE</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Cache distribution mode.</dd></dl>
</li>
</ul>
<a name="setDistributionMode(org.apache.ignite.cache.CacheDistributionMode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDistributionMode</h4>
<pre>public&nbsp;void&nbsp;setDistributionMode(<a href="../../../../org/apache/ignite/cache/CacheDistributionMode.html" title="enum in org.apache.ignite.cache">CacheDistributionMode</a>&nbsp;distro)</pre>
<div class="block">Sets cache distribution mode.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>distro</code> - Distribution mode.</dd></dl>
</li>
</ul>
<a name="getWriteSynchronizationMode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWriteSynchronizationMode</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/cache/CacheWriteSynchronizationMode.html" title="enum in org.apache.ignite.cache">CacheWriteSynchronizationMode</a>&nbsp;getWriteSynchronizationMode()</pre>
<div class="block">Gets write synchronization mode. This mode controls whether the main
 caller should wait for update on other nodes to complete or not.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Write synchronization mode.</dd></dl>
</li>
</ul>
<a name="setWriteSynchronizationMode(org.apache.ignite.cache.CacheWriteSynchronizationMode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWriteSynchronizationMode</h4>
<pre>public&nbsp;void&nbsp;setWriteSynchronizationMode(<a href="../../../../org/apache/ignite/cache/CacheWriteSynchronizationMode.html" title="enum in org.apache.ignite.cache">CacheWriteSynchronizationMode</a>&nbsp;writeSync)</pre>
<div class="block">Sets write synchronization mode.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>writeSync</code> - Write synchronization mode.</dd></dl>
</li>
</ul>
<a name="getNearEvictionPolicy()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNearEvictionPolicy</h4>
<pre>@Nullable
public&nbsp;<a href="../../../../org/apache/ignite/cache/eviction/CacheEvictionPolicy.html" title="interface in org.apache.ignite.cache.eviction">CacheEvictionPolicy</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">K</a>,<a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">V</a><span class='angle_bracket'>&gt;</span>&nbsp;getNearEvictionPolicy()</pre>
<div class="block">Gets eviction policy for <code>near</code> cache which is different from the one used for
 <code>partitioned</code> cache. By default, returns <code>null</code>
 which means that evictions are disabled for near cache.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Cache eviction policy or <code>null</code> if evictions should be disabled.</dd></dl>
</li>
</ul>
<a name="setNearEvictionPolicy(org.apache.ignite.cache.eviction.CacheEvictionPolicy)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNearEvictionPolicy</h4>
<pre>public&nbsp;void&nbsp;setNearEvictionPolicy(@Nullable
                         <a href="../../../../org/apache/ignite/cache/eviction/CacheEvictionPolicy.html" title="interface in org.apache.ignite.cache.eviction">CacheEvictionPolicy</a>&nbsp;nearEvictPlc)</pre>
<div class="block">Sets eviction policy for near cache. This property is only used for <a href="../../../../org/apache/ignite/cache/CacheMode.html#PARTITIONED"><code>CacheMode.PARTITIONED</code></a> caching
 mode.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>nearEvictPlc</code> - Eviction policy for near cache.</dd></dl>
</li>
</ul>
<a name="isEvictSynchronized()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEvictSynchronized</h4>
<pre>public&nbsp;boolean&nbsp;isEvictSynchronized()</pre>
<div class="block">Gets flag indicating whether eviction is synchronized between primary and
 backup nodes on partitioned cache. If this parameter is <code>true</code> and
 swap is disabled then <code>CacheProjection.evict(Object)</code>
 and all its variations will involve all nodes where an entry is kept -
 this is a group of nodes responsible for partition to which
 corresponding key belongs. If this property is set to <code>false</code> then
 eviction is done independently on cache nodes.
 <p>
 Default value is defined by <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_EVICT_SYNCHRONIZED"><code>DFLT_EVICT_SYNCHRONIZED</code></a>.
 <p>
 Note that it's not recommended to set this value to <code>true</code> if cache
 store is configured since it will allow to significantly improve cache
 performance.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>true</code> If eviction is synchronized with backup nodes (or the
      rest of the nodes in case of replicated cache), <code>false</code> if not.</dd></dl>
</li>
</ul>
<a name="setEvictSynchronized(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEvictSynchronized</h4>
<pre>public&nbsp;void&nbsp;setEvictSynchronized(boolean&nbsp;evictSync)</pre>
<div class="block">Sets flag indicating whether eviction is synchronized with backup nodes (or the rest of the nodes for replicated
 cache).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>evictSync</code> - <code>true</code> if synchronized, <code>false</code> if not.</dd></dl>
</li>
</ul>
<a name="setEvictNearSynchronized(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEvictNearSynchronized</h4>
<pre>public&nbsp;void&nbsp;setEvictNearSynchronized(boolean&nbsp;evictNearSync)</pre>
<div class="block">Sets flag indicating whether eviction is synchronized with near nodes.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>evictNearSync</code> - <code>true</code> if synchronized, <code>false</code> if not.</dd></dl>
</li>
</ul>
<a name="isEvictNearSynchronized()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEvictNearSynchronized</h4>
<pre>public&nbsp;boolean&nbsp;isEvictNearSynchronized()</pre>
<div class="block">Gets flag indicating whether eviction on primary node is synchronized with
 near nodes where entry is kept. Default value is <code>true</code> and
 is defined by <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_EVICT_NEAR_SYNCHRONIZED"><code>DFLT_EVICT_NEAR_SYNCHRONIZED</code></a>.
 <p>
 Note that in most cases this property should be set to <code>true</code> to keep
 cache consistency. But there may be the cases when user may use some
 special near eviction policy to have desired control over near cache
 entry set.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>true</code> If eviction is synchronized with near nodes in
      partitioned cache, <code>false</code> if not.</dd></dl>
</li>
</ul>
<a name="getEvictSynchronizedKeyBufferSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEvictSynchronizedKeyBufferSize</h4>
<pre>public&nbsp;int&nbsp;getEvictSynchronizedKeyBufferSize()</pre>
<div class="block">Gets size of the key buffer for synchronized evictions.
 <p>
 Default value is defined by <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_EVICT_KEY_BUFFER_SIZE"><code>DFLT_EVICT_KEY_BUFFER_SIZE</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Eviction key buffer size.</dd></dl>
</li>
</ul>
<a name="setEvictSynchronizedKeyBufferSize(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEvictSynchronizedKeyBufferSize</h4>
<pre>public&nbsp;void&nbsp;setEvictSynchronizedKeyBufferSize(int&nbsp;evictKeyBufSize)</pre>
<div class="block">Sets eviction key buffer size.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>evictKeyBufSize</code> - Eviction key buffer size.</dd></dl>
</li>
</ul>
<a name="getEvictSynchronizedConcurrencyLevel()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEvictSynchronizedConcurrencyLevel</h4>
<pre>public&nbsp;int&nbsp;getEvictSynchronizedConcurrencyLevel()</pre>
<div class="block">Gets concurrency level for synchronized evictions. This flag only makes sense
 with <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#isEvictNearSynchronized()"><code>isEvictNearSynchronized()</code></a> or <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#isEvictSynchronized()"><code>isEvictSynchronized()</code></a> set
 to <code>true</code>. When synchronized evictions are enabled, it is possible that
 local eviction policy will try to evict entries faster than evictions can be
 synchronized with backup or near nodes. This value specifies how many concurrent
 synchronous eviction sessions should be allowed before the system is forced to
 wait and let synchronous evictions catch up with the eviction policy.
 <p>
 Note that if synchronous evictions start lagging, it is possible that you have either
 too big or too small eviction key buffer size or small eviction timeout. In that case
 you will need to adjust <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getEvictSynchronizedKeyBufferSize()"><code>getEvictSynchronizedKeyBufferSize()</code></a> or
 <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getEvictSynchronizedTimeout()"><code>getEvictSynchronizedTimeout()</code></a> values as well.
 <p>
 Default value is defined by <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_EVICT_SYNCHRONIZED_CONCURRENCY_LEVEL"><code>DFLT_EVICT_SYNCHRONIZED_CONCURRENCY_LEVEL</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Synchronous eviction concurrency level.</dd></dl>
</li>
</ul>
<a name="setEvictSynchronizedConcurrencyLevel(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEvictSynchronizedConcurrencyLevel</h4>
<pre>public&nbsp;void&nbsp;setEvictSynchronizedConcurrencyLevel(int&nbsp;evictSyncConcurrencyLvl)</pre>
<div class="block">Sets concurrency level for synchronized evictions.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>evictSyncConcurrencyLvl</code> - Concurrency level for synchronized evictions.</dd></dl>
</li>
</ul>
<a name="getEvictSynchronizedTimeout()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEvictSynchronizedTimeout</h4>
<pre>public&nbsp;long&nbsp;getEvictSynchronizedTimeout()</pre>
<div class="block">Gets timeout for synchronized evictions.
 <p>
 Node that initiates eviction waits for responses
 from remote nodes within this timeout.
 <p>
 Default value is defined by <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_EVICT_SYNCHRONIZED_TIMEOUT"><code>DFLT_EVICT_SYNCHRONIZED_TIMEOUT</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Synchronous eviction timeout.</dd></dl>
</li>
</ul>
<a name="setEvictSynchronizedTimeout(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEvictSynchronizedTimeout</h4>
<pre>public&nbsp;void&nbsp;setEvictSynchronizedTimeout(long&nbsp;evictSyncTimeout)</pre>
<div class="block">Sets timeout for synchronized evictions.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>evictSyncTimeout</code> - Timeout for synchronized evictions.</dd></dl>
</li>
</ul>
<a name="getEvictMaxOverflowRatio()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEvictMaxOverflowRatio</h4>
<pre>public&nbsp;float&nbsp;getEvictMaxOverflowRatio()</pre>
<div class="block">This value denotes the maximum size of eviction queue in percents of cache
 size in case of distributed cache (replicated and partitioned) and using
 synchronized eviction (that is if <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#isEvictSynchronized()"><code>isEvictSynchronized()</code></a> returns
 <code>true</code>).
 <p>
 That queue is used internally as a buffer to decrease network costs for
 synchronized eviction. Once queue size reaches specified value all required
 requests for all entries in the queue are sent to remote nodes and the queue
 is cleared.
 <p>
 Default value is defined by <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_MAX_EVICTION_OVERFLOW_RATIO"><code>DFLT_MAX_EVICTION_OVERFLOW_RATIO</code></a> and
 equals to <code>10%</code>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Maximum size of eviction queue in percents of cache size.</dd></dl>
</li>
</ul>
<a name="setEvictMaxOverflowRatio(float)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEvictMaxOverflowRatio</h4>
<pre>public&nbsp;void&nbsp;setEvictMaxOverflowRatio(float&nbsp;evictMaxOverflowRatio)</pre>
<div class="block">Sets maximum eviction overflow ratio.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>evictMaxOverflowRatio</code> - Maximum eviction overflow ratio.</dd></dl>
</li>
</ul>
<a name="getEvictionFilter()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEvictionFilter</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/cache/eviction/CacheEvictionFilter.html" title="interface in org.apache.ignite.cache.eviction">CacheEvictionFilter</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">K</a>,<a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">V</a><span class='angle_bracket'>&gt;</span>&nbsp;getEvictionFilter()</pre>
<div class="block">Gets eviction filter to specify which entries should not be evicted
 (except explicit evict by calling <a href="../../../../org/apache/ignite/IgniteCache.html#localEvict(java.util.Collection)"><code>IgniteCache.localEvict(Collection)</code></a>).
 If <a href="../../../../org/apache/ignite/cache/eviction/CacheEvictionFilter.html#evictAllowed(javax.cache.Cache.Entry)"><code>CacheEvictionFilter.evictAllowed(javax.cache.Cache.Entry)</code></a> method
 returns <code>false</code> then eviction policy will not be notified and entry will
 never be evicted.
 <p>
 If not provided, any entry may be evicted depending on
 <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getEvictionPolicy()"><code>eviction policy</code></a> configuration.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Eviction filter or <code>null</code>.</dd></dl>
</li>
</ul>
<a name="setEvictionFilter(org.apache.ignite.cache.eviction.CacheEvictionFilter)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEvictionFilter</h4>
<pre>public&nbsp;void&nbsp;setEvictionFilter(<a href="../../../../org/apache/ignite/cache/eviction/CacheEvictionFilter.html" title="interface in org.apache.ignite.cache.eviction">CacheEvictionFilter</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">K</a>,<a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">V</a><span class='angle_bracket'>&gt;</span>&nbsp;evictFilter)</pre>
<div class="block">Sets eviction filter.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>evictFilter</code> - Eviction filter.</dd></dl>
</li>
</ul>
<a name="isEagerTtl()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEagerTtl</h4>
<pre>public&nbsp;boolean&nbsp;isEagerTtl()</pre>
<div class="block">Gets flag indicating whether expired cache entries will be eagerly removed from cache. When
 set to <code>false</code>, expired entries will be removed on next entry access.
 <p>
 When not set, default value is <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_EAGER_TTL"><code>DFLT_EAGER_TTL</code></a>.
 <p>
 <b>Note</b> that this flag only matters for entries expiring based on
 <code>ExpiryPolicy</code> and should not be confused with entry
 evictions based on configured <a href="../../../../org/apache/ignite/cache/eviction/CacheEvictionPolicy.html" title="interface in org.apache.ignite.cache.eviction"><code>CacheEvictionPolicy</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Flag indicating whether Ignite will eagerly remove expired entries.</dd></dl>
</li>
</ul>
<a name="setEagerTtl(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEagerTtl</h4>
<pre>public&nbsp;void&nbsp;setEagerTtl(boolean&nbsp;eagerTtl)</pre>
<div class="block">Sets eager ttl flag.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>eagerTtl</code> - <code>True</code> if Ignite should eagerly remove expired cache entries.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#isEagerTtl()"><code>isEagerTtl()</code></a></dd></dl>
</li>
</ul>
<a name="getStartSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStartSize</h4>
<pre>public&nbsp;int&nbsp;getStartSize()</pre>
<div class="block">Gets initial cache size which will be used to pre-create internal
 hash table after start. Default value is defined by <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_START_SIZE"><code>DFLT_START_SIZE</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Initial cache size.</dd></dl>
</li>
</ul>
<a name="setStartSize(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStartSize</h4>
<pre>public&nbsp;void&nbsp;setStartSize(int&nbsp;startSize)</pre>
<div class="block">Initial size for internal hash map.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>startSize</code> - Cache start size.</dd></dl>
</li>
</ul>
<a name="getNearStartSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNearStartSize</h4>
<pre>public&nbsp;int&nbsp;getNearStartSize()</pre>
<div class="block">Gets initial cache size for near cache which will be used to pre-create internal
 hash table after start. Default value is defined by <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_NEAR_START_SIZE"><code>DFLT_NEAR_START_SIZE</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Initial near cache size.</dd></dl>
</li>
</ul>
<a name="setNearStartSize(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNearStartSize</h4>
<pre>public&nbsp;void&nbsp;setNearStartSize(int&nbsp;nearStartSize)</pre>
<div class="block">Start size for near cache. This property is only used for <a href="../../../../org/apache/ignite/cache/CacheMode.html#PARTITIONED"><code>CacheMode.PARTITIONED</code></a> caching mode.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>nearStartSize</code> - Start size for near cache.</dd></dl>
</li>
</ul>
<a name="isLoadPreviousValue()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLoadPreviousValue</h4>
<pre>public&nbsp;boolean&nbsp;isLoadPreviousValue()</pre>
<div class="block">Gets flag indicating whether value should be loaded from store if it is not in the cache
 for following cache operations:
 <ul>
     <li><a href="../../../../org/apache/ignite/IgniteCache.html#putIfAbsent(K, V)"><code>IgniteCache.putIfAbsent(Object, Object)</code></a></li>
     <li><a href="../../../../org/apache/ignite/IgniteCache.html#replace(K, V)"><code>IgniteCache.replace(Object, Object)</code></a></li>
     <li><a href="../../../../org/apache/ignite/IgniteCache.html#replace(K, V, V)"><code>IgniteCache.replace(Object, Object, Object)</code></a></li>
     <li><a href="../../../../org/apache/ignite/IgniteCache.html#remove(K, V)"><code>IgniteCache.remove(Object, Object)</code></a></li>
     <li><a href="../../../../org/apache/ignite/IgniteCache.html#getAndPut(K, V)"><code>IgniteCache.getAndPut(Object, Object)</code></a></li>
     <li><a href="../../../../org/apache/ignite/IgniteCache.html#getAndRemove(K)"><code>IgniteCache.getAndRemove(Object)</code></a></li>
     <li><a href="../../../../org/apache/ignite/IgniteCache.html#getAndReplace(K, V)"><code>IgniteCache.getAndReplace(Object, Object)</code></a></li>
     <li><a href="../../../../org/apache/ignite/IgniteCache.html#getAndPutIfAbsent(K, V)"><code>IgniteCache.getAndPutIfAbsent(Object, Object)</code></a></li>
</ul></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Load previous value flag.</dd></dl>
</li>
</ul>
<a name="setLoadPreviousValue(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLoadPreviousValue</h4>
<pre>public&nbsp;void&nbsp;setLoadPreviousValue(boolean&nbsp;loadPrevVal)</pre>
<div class="block">Sets flag indicating whether value should be loaded from store if it is not in the cache
 for following cache operations:
 <ul>
     <li><a href="../../../../org/apache/ignite/IgniteCache.html#putIfAbsent(K, V)"><code>IgniteCache.putIfAbsent(Object, Object)</code></a></li>
     <li><a href="../../../../org/apache/ignite/IgniteCache.html#replace(K, V)"><code>IgniteCache.replace(Object, Object)</code></a></li>
     <li><a href="../../../../org/apache/ignite/IgniteCache.html#replace(K, V, V)"><code>IgniteCache.replace(Object, Object, Object)</code></a></li>
     <li><a href="../../../../org/apache/ignite/IgniteCache.html#remove(K, V)"><code>IgniteCache.remove(Object, Object)</code></a></li>
     <li><a href="../../../../org/apache/ignite/IgniteCache.html#getAndPut(K, V)"><code>IgniteCache.getAndPut(Object, Object)</code></a></li>
     <li><a href="../../../../org/apache/ignite/IgniteCache.html#getAndRemove(K)"><code>IgniteCache.getAndRemove(Object)</code></a></li>
     <li><a href="../../../../org/apache/ignite/IgniteCache.html#getAndReplace(K, V)"><code>IgniteCache.getAndReplace(Object, Object)</code></a></li>
     <li><a href="../../../../org/apache/ignite/IgniteCache.html#getAndPutIfAbsent(K, V)"><code>IgniteCache.getAndPutIfAbsent(Object, Object)</code></a></li>
</ul>
 When not set, default value is <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_LOAD_PREV_VAL"><code>DFLT_LOAD_PREV_VAL</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>loadPrevVal</code> - Load previous value flag.</dd></dl>
</li>
</ul>
<a name="getCacheStoreFactory()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCacheStoreFactory</h4>
<pre>public&nbsp;javax.cache.configuration.Factory<span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/cache/store/CacheStore.html" title="interface in org.apache.ignite.cache.store">CacheStore</a><span class='angle_bracket'>&lt;</span>? super <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">K</a>,? super <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">V</a><span class='angle_bracket'>&gt;</span><span class='angle_bracket'>&gt;</span>&nbsp;getCacheStoreFactory()</pre>
<div class="block">Gets factory for underlying persistent storage for read-through and write-through operations.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Cache store factory.</dd></dl>
</li>
</ul>
<a name="setCacheStoreFactory(javax.cache.configuration.Factory)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCacheStoreFactory</h4>
<pre>public&nbsp;void&nbsp;setCacheStoreFactory(javax.cache.configuration.Factory<span class='angle_bracket'>&lt;</span>? extends <a href="../../../../org/apache/ignite/cache/store/CacheStore.html" title="interface in org.apache.ignite.cache.store">CacheStore</a><span class='angle_bracket'>&lt;</span>? super <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">K</a>,? super <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">V</a><span class='angle_bracket'>&gt;</span><span class='angle_bracket'>&gt;</span>&nbsp;storeFactory)</pre>
<div class="block">Sets factory fpr persistent storage for cache data.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>storeFactory</code> - Cache store factory.</dd></dl>
</li>
</ul>
<a name="getAffinity()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAffinity</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/cache/affinity/CacheAffinityFunction.html" title="interface in org.apache.ignite.cache.affinity">CacheAffinityFunction</a>&nbsp;getAffinity()</pre>
<div class="block">Gets key topology resolver to provide mapping from keys to nodes.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Key topology resolver to provide mapping from keys to nodes.</dd></dl>
</li>
</ul>
<a name="setAffinity(org.apache.ignite.cache.affinity.CacheAffinityFunction)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAffinity</h4>
<pre>public&nbsp;void&nbsp;setAffinity(<a href="../../../../org/apache/ignite/cache/affinity/CacheAffinityFunction.html" title="interface in org.apache.ignite.cache.affinity">CacheAffinityFunction</a>&nbsp;aff)</pre>
<div class="block">Sets affinity for cache keys.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>aff</code> - Cache key affinity.</dd></dl>
</li>
</ul>
<a name="getCacheMode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCacheMode</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/cache/CacheMode.html" title="enum in org.apache.ignite.cache">CacheMode</a>&nbsp;getCacheMode()</pre>
<div class="block">Gets caching mode to use. You can configure cache either to be local-only,
 fully replicated, partitioned, or near. If not provided, <a href="../../../../org/apache/ignite/cache/CacheMode.html#REPLICATED"><code>CacheMode.REPLICATED</code></a>
 mode will be used by default (defined by <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_CACHE_MODE"><code>DFLT_CACHE_MODE</code></a> constant).</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>True</code> if cache is local.</dd></dl>
</li>
</ul>
<a name="setCacheMode(org.apache.ignite.cache.CacheMode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCacheMode</h4>
<pre>public&nbsp;void&nbsp;setCacheMode(<a href="../../../../org/apache/ignite/cache/CacheMode.html" title="enum in org.apache.ignite.cache">CacheMode</a>&nbsp;cacheMode)</pre>
<div class="block">Sets caching mode.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cacheMode</code> - Caching mode.</dd></dl>
</li>
</ul>
<a name="getAtomicityMode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAtomicityMode</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/cache/CacheAtomicityMode.html" title="enum in org.apache.ignite.cache">CacheAtomicityMode</a>&nbsp;getAtomicityMode()</pre>
<div class="block">Gets cache atomicity mode.
 <p>
 Default value is defined by <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_CACHE_ATOMICITY_MODE"><code>DFLT_CACHE_ATOMICITY_MODE</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Cache atomicity mode.</dd></dl>
</li>
</ul>
<a name="setAtomicityMode(org.apache.ignite.cache.CacheAtomicityMode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAtomicityMode</h4>
<pre>public&nbsp;void&nbsp;setAtomicityMode(<a href="../../../../org/apache/ignite/cache/CacheAtomicityMode.html" title="enum in org.apache.ignite.cache">CacheAtomicityMode</a>&nbsp;atomicityMode)</pre>
<div class="block">Sets cache atomicity mode.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>atomicityMode</code> - Cache atomicity mode.</dd></dl>
</li>
</ul>
<a name="getAtomicWriteOrderMode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAtomicWriteOrderMode</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/cache/CacheAtomicWriteOrderMode.html" title="enum in org.apache.ignite.cache">CacheAtomicWriteOrderMode</a>&nbsp;getAtomicWriteOrderMode()</pre>
<div class="block">Gets cache write ordering mode. This property can be enabled only for <a href="../../../../org/apache/ignite/cache/CacheAtomicityMode.html#ATOMIC"><code>CacheAtomicityMode.ATOMIC</code></a>
 cache (for other atomicity modes it will be ignored).</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Cache write ordering mode.</dd></dl>
</li>
</ul>
<a name="setAtomicWriteOrderMode(org.apache.ignite.cache.CacheAtomicWriteOrderMode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAtomicWriteOrderMode</h4>
<pre>public&nbsp;void&nbsp;setAtomicWriteOrderMode(<a href="../../../../org/apache/ignite/cache/CacheAtomicWriteOrderMode.html" title="enum in org.apache.ignite.cache">CacheAtomicWriteOrderMode</a>&nbsp;atomicWriteOrderMode)</pre>
<div class="block">Sets cache write ordering mode. This property can be enabled only for <a href="../../../../org/apache/ignite/cache/CacheAtomicityMode.html#ATOMIC"><code>CacheAtomicityMode.ATOMIC</code></a>
 cache (for other atomicity modes it will be ignored).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>atomicWriteOrderMode</code> - Cache write ordering mode.</dd></dl>
</li>
</ul>
<a name="getBackups()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBackups</h4>
<pre>public&nbsp;int&nbsp;getBackups()</pre>
<div class="block">Gets number of nodes used to back up single partition for <a href="../../../../org/apache/ignite/cache/CacheMode.html#PARTITIONED"><code>CacheMode.PARTITIONED</code></a> cache.
 <p>
 If not set, default value is <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_BACKUPS"><code>DFLT_BACKUPS</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Number of backup nodes for one partition.</dd></dl>
</li>
</ul>
<a name="setBackups(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBackups</h4>
<pre>public&nbsp;void&nbsp;setBackups(int&nbsp;backups)</pre>
<div class="block">Sets number of nodes used to back up single partition for <a href="../../../../org/apache/ignite/cache/CacheMode.html#PARTITIONED"><code>CacheMode.PARTITIONED</code></a> cache.
 <p>
 If not set, default value is <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_BACKUPS"><code>DFLT_BACKUPS</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>backups</code> - Number of backup nodes for one partition.</dd></dl>
</li>
</ul>
<a name="getDefaultLockTimeout()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultLockTimeout</h4>
<pre>public&nbsp;long&nbsp;getDefaultLockTimeout()</pre>
<div class="block">Gets default lock acquisition timeout. Default value is defined by <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_LOCK_TIMEOUT"><code>DFLT_LOCK_TIMEOUT</code></a>
 which is <code>0</code> and means that lock acquisition will never timeout.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Default lock timeout.</dd></dl>
</li>
</ul>
<a name="setDefaultLockTimeout(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDefaultLockTimeout</h4>
<pre>public&nbsp;void&nbsp;setDefaultLockTimeout(long&nbsp;dfltLockTimeout)</pre>
<div class="block">Sets default lock timeout in milliseconds. By default this value is defined by <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_LOCK_TIMEOUT"><code>DFLT_LOCK_TIMEOUT</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>dfltLockTimeout</code> - Default lock timeout.</dd></dl>
</li>
</ul>
<a name="getDefaultQueryTimeout()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultQueryTimeout</h4>
<pre>public&nbsp;long&nbsp;getDefaultQueryTimeout()</pre>
<div class="block">Gets default query timeout. Default value is defined by <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_QUERY_TIMEOUT"><code>DFLT_QUERY_TIMEOUT</code></a>. <code>0</code> (zero)
 means that the query will never timeout and will wait for completion.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Default query timeout, <code>0</code> for never.</dd></dl>
</li>
</ul>
<a name="setDefaultQueryTimeout(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDefaultQueryTimeout</h4>
<pre>public&nbsp;void&nbsp;setDefaultQueryTimeout(long&nbsp;dfltQryTimeout)</pre>
<div class="block">Sets default query timeout, <code>0</code> for never. For more information see <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getDefaultQueryTimeout()"><code>getDefaultQueryTimeout()</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>dfltQryTimeout</code> - Default query timeout.</dd></dl>
</li>
</ul>
<a name="isInvalidate()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isInvalidate</h4>
<pre>public&nbsp;boolean&nbsp;isInvalidate()</pre>
<div class="block">Invalidation flag. If <code>true</code>, values will be invalidated (nullified) upon commit in near cache.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Invalidation flag.</dd></dl>
</li>
</ul>
<a name="setInvalidate(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInvalidate</h4>
<pre>public&nbsp;void&nbsp;setInvalidate(boolean&nbsp;invalidate)</pre>
<div class="block">Sets invalidation flag for near cache entries in this transaction. Default is <code>false</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>invalidate</code> - Flag to set this cache into invalidation-based mode. Default value is <code>false</code>.</dd></dl>
</li>
</ul>
<a name="getTransactionManagerLookupClassName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTransactionManagerLookupClassName</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;getTransactionManagerLookupClassName()</pre>
<div class="block">Gets class name of transaction manager finder for integration for JEE app servers.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Transaction manager finder.</dd></dl>
</li>
</ul>
<a name="setTransactionManagerLookupClassName(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTransactionManagerLookupClassName</h4>
<pre>public&nbsp;void&nbsp;setTransactionManagerLookupClassName(<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;tmLookupClsName)</pre>
<div class="block">Sets look up mechanism for available <code>TransactionManager</code> implementation, if any.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>tmLookupClsName</code> - Name of class implementing GridCacheTmLookup interface that is used to
      receive JTA transaction manager.</dd></dl>
</li>
</ul>
<a name="setRebalanceMode(org.apache.ignite.cache.CacheRebalanceMode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRebalanceMode</h4>
<pre>public&nbsp;void&nbsp;setRebalanceMode(<a href="../../../../org/apache/ignite/cache/CacheRebalanceMode.html" title="enum in org.apache.ignite.cache">CacheRebalanceMode</a>&nbsp;rebalanceMode)</pre>
<div class="block">Sets cache rebalance mode.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>rebalanceMode</code> - Rebalance mode.</dd></dl>
</li>
</ul>
<a name="getRebalanceMode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRebalanceMode</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/cache/CacheRebalanceMode.html" title="enum in org.apache.ignite.cache">CacheRebalanceMode</a>&nbsp;getRebalanceMode()</pre>
<div class="block">Gets rebalance mode for distributed cache.
 <p>
 Default is defined by <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_REBALANCE_MODE"><code>DFLT_REBALANCE_MODE</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Rebalance mode.</dd></dl>
</li>
</ul>
<a name="getRebalanceOrder()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRebalanceOrder</h4>
<pre>public&nbsp;int&nbsp;getRebalanceOrder()</pre>
<div class="block">Gets cache rebalance order. Rebalance order can be set to non-zero value for caches with
 <a href="../../../../org/apache/ignite/cache/CacheRebalanceMode.html#SYNC"><code>SYNC</code></a> or <a href="../../../../org/apache/ignite/cache/CacheRebalanceMode.html#ASYNC"><code>ASYNC</code></a> rebalance modes only.
 <p/>
 If cache rebalance order is positive, rebalancing for this cache will be started only when rebalancing for
 all caches with smaller rebalance order (except caches with rebalance order <code>0</code>) will be completed.
 <p/>
 Note that cache with order <code>0</code> does not participate in ordering. This means that cache with
 rebalance order <code>1</code> will never wait for any other caches. All caches with order <code>0</code> will
 be rebalanced right away concurrently with each other and ordered rebalance processes.
 <p/>
 If not set, cache order is 0, i.e. rebalancing is not ordered.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Cache rebalance order.</dd></dl>
</li>
</ul>
<a name="setRebalanceOrder(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRebalanceOrder</h4>
<pre>public&nbsp;void&nbsp;setRebalanceOrder(int&nbsp;rebalanceOrder)</pre>
<div class="block">Sets cache rebalance order.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>rebalanceOrder</code> - Cache rebalance order.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getRebalanceOrder()"><code>getRebalanceOrder()</code></a></dd></dl>
</li>
</ul>
<a name="getRebalanceBatchSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRebalanceBatchSize</h4>
<pre>public&nbsp;int&nbsp;getRebalanceBatchSize()</pre>
<div class="block">Gets size (in number bytes) to be loaded within a single rebalance message.
 Rebalancing algorithm will split total data set on every node into multiple
 batches prior to sending data. Default value is defined by
 <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_REBALANCE_BATCH_SIZE"><code>DFLT_REBALANCE_BATCH_SIZE</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Size in bytes of a single rebalance message.</dd></dl>
</li>
</ul>
<a name="setRebalanceBatchSize(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRebalanceBatchSize</h4>
<pre>public&nbsp;void&nbsp;setRebalanceBatchSize(int&nbsp;rebalanceBatchSize)</pre>
<div class="block">Sets rebalance batch size.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>rebalanceBatchSize</code> - Rebalance batch size.</dd></dl>
</li>
</ul>
<a name="isSwapEnabled()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSwapEnabled</h4>
<pre>public&nbsp;boolean&nbsp;isSwapEnabled()</pre>
<div class="block">Flag indicating whether Ignite should use swap storage by default. By default
 swap is disabled which is defined via <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_SWAP_ENABLED"><code>DFLT_SWAP_ENABLED</code></a> constant.
 <p>
 Note that this flag may be overridden for cache projection created with flag
 <code>CacheFlag.SKIP_SWAP</code>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>True</code> if swap storage is enabled.</dd></dl>
</li>
</ul>
<a name="setSwapEnabled(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSwapEnabled</h4>
<pre>public&nbsp;void&nbsp;setSwapEnabled(boolean&nbsp;swapEnabled)</pre>
<div class="block">Flag indicating whether swap storage is enabled or not.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>swapEnabled</code> - <code>True</code> if swap storage is enabled.</dd></dl>
</li>
</ul>
<a name="getMaxConcurrentAsyncOperations()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxConcurrentAsyncOperations</h4>
<pre>public&nbsp;int&nbsp;getMaxConcurrentAsyncOperations()</pre>
<div class="block">Gets maximum number of allowed concurrent asynchronous operations. If 0 returned then number
 of concurrent asynchronous operations is unlimited.
 <p>
 If not set, default value is <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_MAX_CONCURRENT_ASYNC_OPS"><code>DFLT_MAX_CONCURRENT_ASYNC_OPS</code></a>.
 <p>
 If user threads do not wait for asynchronous operations to complete, it is possible to overload
 a system. This property enables back-pressure control by limiting number of scheduled asynchronous
 cache operations.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Maximum number of concurrent asynchronous operations or <code>0</code> if unlimited.</dd></dl>
</li>
</ul>
<a name="setMaxConcurrentAsyncOperations(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxConcurrentAsyncOperations</h4>
<pre>public&nbsp;void&nbsp;setMaxConcurrentAsyncOperations(int&nbsp;maxConcurrentAsyncOps)</pre>
<div class="block">Sets maximum number of concurrent asynchronous operations.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxConcurrentAsyncOps</code> - Maximum number of concurrent asynchronous operations.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getMaxConcurrentAsyncOperations()"><code>getMaxConcurrentAsyncOperations()</code></a></dd></dl>
</li>
</ul>
<a name="isQueryIndexEnabled()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isQueryIndexEnabled</h4>
<pre>public&nbsp;boolean&nbsp;isQueryIndexEnabled()</pre>
<div class="block">Flag indicating whether Ignite should attempt to index value and/or key instances
 stored in cache. If this property is <code>false</code>, then all indexing annotations
 inside of any class will be ignored. By default query indexing is disabled and
 defined via <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_QUERY_INDEX_ENABLED"><code>DFLT_QUERY_INDEX_ENABLED</code></a> constant.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>True</code> if query indexing is enabled.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getMemoryMode()"><code>getMemoryMode()</code></a></dd></dl>
</li>
</ul>
<a name="setQueryIndexEnabled(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setQueryIndexEnabled</h4>
<pre>public&nbsp;void&nbsp;setQueryIndexEnabled(boolean&nbsp;qryIdxEnabled)</pre>
<div class="block">Flag indicating whether query indexing is enabled or not.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>qryIdxEnabled</code> - <code>True</code> if query indexing is enabled.</dd></dl>
</li>
</ul>
<a name="isWriteBehindEnabled()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isWriteBehindEnabled</h4>
<pre>public&nbsp;boolean&nbsp;isWriteBehindEnabled()</pre>
<div class="block">Flag indicating whether Ignite should use write-behind behaviour for the cache store.
 By default write-behind is disabled which is defined via <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_WRITE_BEHIND_ENABLED"><code>DFLT_WRITE_BEHIND_ENABLED</code></a>
 constant.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>True</code> if write-behind is enabled.</dd></dl>
</li>
</ul>
<a name="setWriteBehindEnabled(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWriteBehindEnabled</h4>
<pre>public&nbsp;void&nbsp;setWriteBehindEnabled(boolean&nbsp;writeBehindEnabled)</pre>
<div class="block">Sets flag indicating whether write-behind is enabled.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>writeBehindEnabled</code> - <code>true</code> if write-behind is enabled.</dd></dl>
</li>
</ul>
<a name="getWriteBehindFlushSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWriteBehindFlushSize</h4>
<pre>public&nbsp;int&nbsp;getWriteBehindFlushSize()</pre>
<div class="block">Maximum size of the write-behind cache. If cache size exceeds this value,
 all cached items are flushed to the cache store and write cache is cleared.
 <p/>
 If not provided, default value is <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_WRITE_BEHIND_FLUSH_SIZE"><code>DFLT_WRITE_BEHIND_FLUSH_SIZE</code></a>.
 If this value is <code>0</code>, then flush is performed according to the flush frequency interval.
 <p/>
 Note that you cannot set both, <code>flush</code> size and <code>flush frequency</code>, to <code>0</code>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Maximum object count in write-behind cache.</dd></dl>
</li>
</ul>
<a name="setWriteBehindFlushSize(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWriteBehindFlushSize</h4>
<pre>public&nbsp;void&nbsp;setWriteBehindFlushSize(int&nbsp;writeBehindFlushSize)</pre>
<div class="block">Sets write-behind flush size.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>writeBehindFlushSize</code> - Write-behind cache flush size.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getWriteBehindFlushSize()"><code>getWriteBehindFlushSize()</code></a></dd></dl>
</li>
</ul>
<a name="getWriteBehindFlushFrequency()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWriteBehindFlushFrequency</h4>
<pre>public&nbsp;long&nbsp;getWriteBehindFlushFrequency()</pre>
<div class="block">Frequency with which write-behind cache is flushed to the cache store in milliseconds.
 This value defines the maximum time interval between object insertion/deletion from the cache
 ant the moment when corresponding operation is applied to the cache store.
 <p>
 If not provided, default value is <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_WRITE_BEHIND_FLUSH_FREQUENCY"><code>DFLT_WRITE_BEHIND_FLUSH_FREQUENCY</code></a>.
 If this value is <code>0</code>, then flush is performed according to the flush size.
 <p>
 Note that you cannot set both, <code>flush</code> size and <code>flush frequency</code>, to <code>0</code>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Write-behind flush frequency in milliseconds.</dd></dl>
</li>
</ul>
<a name="setWriteBehindFlushFrequency(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWriteBehindFlushFrequency</h4>
<pre>public&nbsp;void&nbsp;setWriteBehindFlushFrequency(long&nbsp;writeBehindFlushFreq)</pre>
<div class="block">Sets write-behind flush frequency.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>writeBehindFlushFreq</code> - Write-behind flush frequency in milliseconds.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getWriteBehindFlushFrequency()"><code>getWriteBehindFlushFrequency()</code></a></dd></dl>
</li>
</ul>
<a name="getWriteBehindFlushThreadCount()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWriteBehindFlushThreadCount</h4>
<pre>public&nbsp;int&nbsp;getWriteBehindFlushThreadCount()</pre>
<div class="block">Number of threads that will perform cache flushing. Cache flushing is performed
 when cache size exceeds value defined by
 <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getWriteBehindFlushSize()"><code>getWriteBehindFlushSize()</code></a>, or flush interval defined by
 <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getWriteBehindFlushFrequency()"><code>getWriteBehindFlushFrequency()</code></a> is elapsed.
 <p/>
 If not provided, default value is <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_WRITE_FROM_BEHIND_FLUSH_THREAD_CNT"><code>DFLT_WRITE_FROM_BEHIND_FLUSH_THREAD_CNT</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Count of flush threads.</dd></dl>
</li>
</ul>
<a name="setWriteBehindFlushThreadCount(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWriteBehindFlushThreadCount</h4>
<pre>public&nbsp;void&nbsp;setWriteBehindFlushThreadCount(int&nbsp;writeBehindFlushThreadCnt)</pre>
<div class="block">Sets flush thread count for write-behind cache.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>writeBehindFlushThreadCnt</code> - Count of flush threads.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getWriteBehindFlushThreadCount()"><code>getWriteBehindFlushThreadCount()</code></a></dd></dl>
</li>
</ul>
<a name="getWriteBehindBatchSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWriteBehindBatchSize</h4>
<pre>public&nbsp;int&nbsp;getWriteBehindBatchSize()</pre>
<div class="block">Maximum batch size for write-behind cache store operations. Store operations (get or remove)
 are combined in a batch of this size to be passed to
 <code>CacheWriter.writeAll(Collection)</code> or
 <code>CacheWriter.deleteAll(Collection)</code> methods.
 <p/>
 If not provided, default value is <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_WRITE_BEHIND_BATCH_SIZE"><code>DFLT_WRITE_BEHIND_BATCH_SIZE</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Maximum batch size for store operations.</dd></dl>
</li>
</ul>
<a name="setWriteBehindBatchSize(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWriteBehindBatchSize</h4>
<pre>public&nbsp;void&nbsp;setWriteBehindBatchSize(int&nbsp;writeBehindBatchSize)</pre>
<div class="block">Sets maximum batch size for write-behind cache.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>writeBehindBatchSize</code> - Maximum batch size.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getWriteBehindBatchSize()"><code>getWriteBehindBatchSize()</code></a></dd></dl>
</li>
</ul>
<a name="getRebalanceThreadPoolSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRebalanceThreadPoolSize</h4>
<pre>public&nbsp;int&nbsp;getRebalanceThreadPoolSize()</pre>
<div class="block">Gets size of rebalancing thread pool. Note that size serves as a hint and implementation
 may create more threads for rebalancing than specified here (but never less threads).
 <p>
 Default value is <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_REBALANCE_THREAD_POOL_SIZE"><code>DFLT_REBALANCE_THREAD_POOL_SIZE</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Size of rebalancing thread pool.</dd></dl>
</li>
</ul>
<a name="setRebalanceThreadPoolSize(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRebalanceThreadPoolSize</h4>
<pre>public&nbsp;void&nbsp;setRebalanceThreadPoolSize(int&nbsp;rebalancePoolSize)</pre>
<div class="block">Sets size of rebalancing thread pool. Note that size serves as a hint and implementation may create more threads
 for rebalancing than specified here (but never less threads).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>rebalancePoolSize</code> - Size of rebalancing thread pool.</dd></dl>
</li>
</ul>
<a name="getRebalanceTimeout()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRebalanceTimeout</h4>
<pre>public&nbsp;long&nbsp;getRebalanceTimeout()</pre>
<div class="block">Gets rebalance timeout (ms).
 <p>
 Default value is <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_REBALANCE_TIMEOUT"><code>DFLT_REBALANCE_TIMEOUT</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Rebalance timeout (ms).</dd></dl>
</li>
</ul>
<a name="setRebalanceTimeout(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRebalanceTimeout</h4>
<pre>public&nbsp;void&nbsp;setRebalanceTimeout(long&nbsp;rebalanceTimeout)</pre>
<div class="block">Sets rebalance timeout (ms).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>rebalanceTimeout</code> - Rebalance timeout (ms).</dd></dl>
</li>
</ul>
<a name="getRebalanceDelay()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRebalanceDelay</h4>
<pre>public&nbsp;long&nbsp;getRebalanceDelay()</pre>
<div class="block">Gets delay in milliseconds upon a node joining or leaving topology (or crash) after which rebalancing
 should be started automatically. Rebalancing should be delayed if you plan to restart nodes
 after they leave topology, or if you plan to start multiple nodes at once or one after another
 and don't want to repartition and rebalance until all nodes are started.
 <p>
 For better efficiency user should usually make sure that new nodes get placed on
 the same place of consistent hash ring as the left nodes, and that nodes are
 restarted before this delay expires. To place nodes on the same place in consistent hash ring,
 use <a href="../../../../org/apache/ignite/cache/affinity/rendezvous/CacheRendezvousAffinityFunction.html#setHashIdResolver(org.apache.ignite.cache.affinity.CacheAffinityNodeHashResolver)"><code>CacheRendezvousAffinityFunction.setHashIdResolver(CacheAffinityNodeHashResolver)</code></a>
 to make sure that a node maps to the same hash ID event if restarted. As an example,
 node IP address and port combination may be used in this case.
 <p>
 Default value is <code>0</code> which means that repartitioning and rebalancing will start
 immediately upon node leaving topology. If <code>-1</code> is returned, then rebalancing
 will only be started manually by calling <a href="../../../../org/apache/ignite/cache/GridCache.html#forceRepartition()"><code>GridCache.forceRepartition()</code></a> method or
 from management console.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Rebalancing delay, <code>0</code> to start rebalancing immediately, <code>-1</code> to
      start rebalancing manually, or positive value to specify delay in milliseconds
      after which rebalancing should start automatically.</dd></dl>
</li>
</ul>
<a name="setRebalanceDelay(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRebalanceDelay</h4>
<pre>public&nbsp;void&nbsp;setRebalanceDelay(long&nbsp;rebalanceDelay)</pre>
<div class="block">Sets rebalance delay (see <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#getRebalanceDelay()"><code>getRebalanceDelay()</code></a> for more information).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>rebalanceDelay</code> - Rebalance delay to set.</dd></dl>
</li>
</ul>
<a name="getRebalanceThrottle()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRebalanceThrottle</h4>
<pre>public&nbsp;long&nbsp;getRebalanceThrottle()</pre>
<div class="block">Time in milliseconds to wait between rebalance messages to avoid overloading of CPU or network.
 When rebalancing large data sets, the CPU or network can get over-consumed with rebalancing messages,
 which consecutively may slow down the application performance. This parameter helps tune
 the amount of time to wait between rebalance messages to make sure that rebalancing process
 does not have any negative performance impact. Note that application will continue to work
 properly while rebalancing is still in progress.
 <p>
 Value of <code>0</code> means that throttling is disabled. By default throttling is disabled -
 the default is defined by <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_REBALANCE_THROTTLE"><code>DFLT_REBALANCE_THROTTLE</code></a> constant.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Time in milliseconds to wait between rebalance messages to avoid overloading of CPU,
      <code>0</code> to disable throttling.</dd></dl>
</li>
</ul>
<a name="setRebalanceThrottle(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRebalanceThrottle</h4>
<pre>public&nbsp;void&nbsp;setRebalanceThrottle(long&nbsp;rebalanceThrottle)</pre>
<div class="block">Time in milliseconds to wait between rebalance messages to avoid overloading of CPU or network. When rebalancing
 large data sets, the CPU or network can get over-consumed with rebalancing messages, which consecutively may slow
 down the application performance. This parameter helps tune the amount of time to wait between rebalance messages
 to make sure that rebalancing process does not have any negative performance impact. Note that application will
 continue to work properly while rebalancing is still in progress. <p> Value of <code>0</code> means that throttling is
 disabled. By default throttling is disabled - the default is defined by <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_REBALANCE_THROTTLE"><code>DFLT_REBALANCE_THROTTLE</code></a> constant.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>rebalanceThrottle</code> - Time in milliseconds to wait between rebalance messages to avoid overloading of CPU,
 <code>0</code> to disable throttling.</dd></dl>
</li>
</ul>
<a name="getAffinityMapper()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAffinityMapper</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/cache/affinity/CacheAffinityKeyMapper.html" title="interface in org.apache.ignite.cache.affinity">CacheAffinityKeyMapper</a>&nbsp;getAffinityMapper()</pre>
<div class="block">Affinity key mapper used to provide custom affinity key for any given key.
 Affinity mapper is particularly useful when several objects need to be collocated
 on the same node (they will also be backed up on the same nodes as well).
 <p>
 If not provided, then default implementation will be used. The default behavior
 is described in <a href="../../../../org/apache/ignite/cache/affinity/CacheAffinityKeyMapper.html" title="interface in org.apache.ignite.cache.affinity"><code>CacheAffinityKeyMapper</code></a> documentation.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Mapper to use for affinity key mapping.</dd></dl>
</li>
</ul>
<a name="setAffinityMapper(org.apache.ignite.cache.affinity.CacheAffinityKeyMapper)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAffinityMapper</h4>
<pre>public&nbsp;void&nbsp;setAffinityMapper(<a href="../../../../org/apache/ignite/cache/affinity/CacheAffinityKeyMapper.html" title="interface in org.apache.ignite.cache.affinity">CacheAffinityKeyMapper</a>&nbsp;affMapper)</pre>
<div class="block">Sets custom affinity mapper. If not provided, then default implementation will be used. The default behavior is
 described in <a href="../../../../org/apache/ignite/cache/affinity/CacheAffinityKeyMapper.html" title="interface in org.apache.ignite.cache.affinity"><code>CacheAffinityKeyMapper</code></a> documentation.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>affMapper</code> - Affinity mapper.</dd></dl>
</li>
</ul>
<a name="getIndexingSpiName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIndexingSpiName</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;getIndexingSpiName()</pre>
<div class="block">Gets name of the SPI to use for indexing. If not specified, the default
 indexing SPI will be used.
 <p>
 This property becomes useful in rare cases when more than one indexing
 SPI is configured. In majority of the cases default value should be used.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Name of SPI to use for indexing.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/spi/indexing/IndexingSpi.html" title="interface in org.apache.ignite.spi.indexing"><code>IndexingSpi</code></a></dd></dl>
</li>
</ul>
<a name="setIndexingSpiName(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIndexingSpiName</h4>
<pre>public&nbsp;void&nbsp;setIndexingSpiName(<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;indexingSpiName)</pre>
<div class="block">Sets name of the SPI to use for indexing. If not specified, the default
 indexing SPI will be used.
 <p>
 This property becomes useful in rare cases when more than one indexing
 SPI is configured. In majority of the cases default value should be used.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>indexingSpiName</code> - Name.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/spi/indexing/IndexingSpi.html" title="interface in org.apache.ignite.spi.indexing"><code>IndexingSpi</code></a></dd></dl>
</li>
</ul>
<a name="getOffHeapMaxMemory()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapMaxMemory</h4>
<pre>public&nbsp;long&nbsp;getOffHeapMaxMemory()</pre>
<div class="block">Gets maximum amount of memory available to off-heap storage. Possible values are
 <ul>
 <li><code>-1</code> - Means that off-heap storage is disabled.</li>
 <li>
     <code>0</code> - Ignite will not limit off-heap storage (it's up to user to properly
     add and remove entries from cache to ensure that off-heap storage does not grow
     indefinitely.
 </li>
 <li>Any positive value specifies the limit of off-heap storage in bytes.</li>
 </ul>
 Default value is <code>-1</code>, specified by <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_OFFHEAP_MEMORY"><code>DFLT_OFFHEAP_MEMORY</code></a> constant
 which means that off-heap storage is disabled by default.
 <p>
 Use off-heap storage to load gigabytes of data in memory without slowing down
 Garbage Collection. Essentially in this case you should allocate very small amount
 of memory to JVM and Ignite will cache most of the data in off-heap space
 without affecting JVM performance at all.
 <p>
 Note that Ignite will throw an exception if max memory is set to <code>-1</code> and
 <code>offHeapValuesOnly</code> flag is set to <code>true</code>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Maximum memory in bytes available to off-heap memory space.</dd></dl>
</li>
</ul>
<a name="setOffHeapMaxMemory(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOffHeapMaxMemory</h4>
<pre>public&nbsp;void&nbsp;setOffHeapMaxMemory(long&nbsp;offHeapMaxMem)</pre>
<div class="block">Sets maximum amount of memory available to off-heap storage. Possible values are <ul> <li><code>-1</code> - Means that
 off-heap storage is disabled.</li> <li> <code>0</code> - Ignite will not limit off-heap storage (it's up to user to
 properly add and remove entries from cache to ensure that off-heap storage does not grow infinitely. </li>
 <li>Any positive value specifies the limit of off-heap storage in bytes.</li> </ul> Default value is <code>-1</code>,
 specified by <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_OFFHEAP_MEMORY"><code>DFLT_OFFHEAP_MEMORY</code></a> constant which means that off-heap storage is disabled by default. <p>
 Use off-heap storage to load gigabytes of data in memory without slowing down Garbage Collection. Essentially in
 this case you should allocate very small amount of memory to JVM and Ignite will cache most of the data in
 off-heap space without affecting JVM performance at all.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>offHeapMaxMem</code> - Maximum memory in bytes available to off-heap memory space.</dd></dl>
</li>
</ul>
<a name="getMaximumQueryIteratorCount()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaximumQueryIteratorCount</h4>
<pre>public&nbsp;int&nbsp;getMaximumQueryIteratorCount()</pre>
<div class="block">Gets maximum number of query iterators that can be stored. Iterators are stored to
 support query pagination when each page of data is sent to user's node only on demand.
 Increase this property if you are running and processing lots of queries in parallel.
 <p>
 Default value is <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_MAX_QUERY_ITERATOR_CNT"><code>DFLT_MAX_QUERY_ITERATOR_CNT</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Maximum number of query iterators that can be stored.</dd></dl>
</li>
</ul>
<a name="setMaximumQueryIteratorCount(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaximumQueryIteratorCount</h4>
<pre>public&nbsp;void&nbsp;setMaximumQueryIteratorCount(int&nbsp;maxQryIterCnt)</pre>
<div class="block">Sets maximum number of query iterators that can be stored.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxQryIterCnt</code> - Maximum number of query iterators that can be stored.</dd></dl>
</li>
</ul>
<a name="getMemoryMode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMemoryMode</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/cache/CacheMemoryMode.html" title="enum in org.apache.ignite.cache">CacheMemoryMode</a>&nbsp;getMemoryMode()</pre>
<div class="block">Gets memory mode for cache. Memory mode helps control whether value is stored in on-heap memory,
 off-heap memory, or swap space. Refer to <a href="../../../../org/apache/ignite/cache/CacheMemoryMode.html" title="enum in org.apache.ignite.cache"><code>CacheMemoryMode</code></a> for more info.
 <p>
 Default value is <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_MEMORY_MODE"><code>DFLT_MEMORY_MODE</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Memory mode.</dd></dl>
</li>
</ul>
<a name="setMemoryMode(org.apache.ignite.cache.CacheMemoryMode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMemoryMode</h4>
<pre>public&nbsp;void&nbsp;setMemoryMode(<a href="../../../../org/apache/ignite/cache/CacheMemoryMode.html" title="enum in org.apache.ignite.cache">CacheMemoryMode</a>&nbsp;memMode)</pre>
<div class="block">Sets memory mode for cache.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>memMode</code> - Memory mode.</dd></dl>
</li>
</ul>
<a name="getInterceptor()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInterceptor</h4>
<pre>@Nullable
public&nbsp;<a href="../../../../org/apache/ignite/cache/CacheInterceptor.html" title="interface in org.apache.ignite.cache">CacheInterceptor</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">K</a>,<a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">V</a><span class='angle_bracket'>&gt;</span>&nbsp;getInterceptor()</pre>
<div class="block">Gets cache interceptor.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Cache interceptor.</dd></dl>
</li>
</ul>
<a name="setInterceptor(org.apache.ignite.cache.CacheInterceptor)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInterceptor</h4>
<pre>public&nbsp;void&nbsp;setInterceptor(<a href="../../../../org/apache/ignite/cache/CacheInterceptor.html" title="interface in org.apache.ignite.cache">CacheInterceptor</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">K</a>,<a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html" title="type parameter in CacheConfiguration">V</a><span class='angle_bracket'>&gt;</span>&nbsp;interceptor)</pre>
<div class="block">Sets cache interceptor.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>interceptor</code> - Cache interceptor.</dd></dl>
</li>
</ul>
<a name="getTypeMetadata()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTypeMetadata</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/cache/CacheTypeMetadata.html" title="class in org.apache.ignite.cache">CacheTypeMetadata</a><span class='angle_bracket'>&gt;</span>&nbsp;getTypeMetadata()</pre>
<div class="block">Gets collection of type metadata objects.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Collection of type metadata.</dd></dl>
</li>
</ul>
<a name="setTypeMetadata(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTypeMetadata</h4>
<pre>public&nbsp;void&nbsp;setTypeMetadata(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/cache/CacheTypeMetadata.html" title="class in org.apache.ignite.cache">CacheTypeMetadata</a><span class='angle_bracket'>&gt;</span>&nbsp;typeMeta)</pre>
<div class="block">Sets collection of type metadata objects.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>typeMeta</code> - Collection of type metadata.</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/CacheQueryConfiguration.html" title="class in org.apache.ignite.configuration">CacheQueryConfiguration</a>&nbsp;getQueryConfiguration()</pre>
<div class="block">Gets query configuration. Query configuration defines which fields should be indexed for objects
 without annotations or portable objects.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Cache query configuration.</dd></dl>
</li>
</ul>
<a name="setQueryConfiguration(org.apache.ignite.configuration.CacheQueryConfiguration)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setQueryConfiguration</h4>
<pre>public&nbsp;void&nbsp;setQueryConfiguration(<a href="../../../../org/apache/ignite/configuration/CacheQueryConfiguration.html" title="class in org.apache.ignite.configuration">CacheQueryConfiguration</a>&nbsp;qryCfg)</pre>
<div class="block">Sets query configuration.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>qryCfg</code> - Query configuration.</dd></dl>
</li>
</ul>
<a name="isReadFromBackup()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isReadFromBackup</h4>
<pre>public&nbsp;boolean&nbsp;isReadFromBackup()</pre>
<div class="block">Gets flag indicating whether data can be read from backup.
 If <code>false</code> always get data from primary node (never from backup).
 <p>
 Default value is defined by <a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#DFLT_READ_FROM_BACKUP"><code>DFLT_READ_FROM_BACKUP</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>true</code> if data can be read from backup node or <code>false</code> if data always
      should be read from primary node and never from backup.</dd></dl>
</li>
</ul>
<a name="setReadFromBackup(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReadFromBackup</h4>
<pre>public&nbsp;void&nbsp;setReadFromBackup(boolean&nbsp;readFromBackup)</pre>
<div class="block">Sets read from backup flag.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>readFromBackup</code> - <code>true</code> to allow reads from backups.</dd></dl>
</li>
</ul>
<a name="isCopyOnRead()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCopyOnRead</h4>
<pre>public&nbsp;boolean&nbsp;isCopyOnRead()</pre>
<div class="block">Gets flag indicating whether copy of of the value stored in cache should be created
 for cache operation implying return value. Also if this flag is set copies are created for values
 passed to <a href="../../../../org/apache/ignite/cache/CacheInterceptor.html" title="interface in org.apache.ignite.cache"><code>CacheInterceptor</code></a> and to <a href="../../../../org/apache/ignite/cache/IgniteEntryProcessor.html" title="interface in org.apache.ignite.cache"><code>IgniteEntryProcessor</code></a>.
 <p>
 Copies are not created for immutable types, see <a href="../../../../org/apache/ignite/cache/IgniteImmutable.html" title="annotation in org.apache.ignite.cache"><code>IgniteImmutable</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Copy on get flag.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/cache/IgniteImmutable.html" title="annotation in org.apache.ignite.cache"><code>IgniteImmutable</code></a></dd></dl>
</li>
</ul>
<a name="setCopyOnRead(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCopyOnRead</h4>
<pre>public&nbsp;void&nbsp;setCopyOnRead(boolean&nbsp;cpOnGet)</pre>
<div class="block">Set copy on get flag.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cpOnGet</code> - Copy on get flag.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/ignite/configuration/CacheConfiguration.html#isCopyOnRead()"><code>isCopyOnRead()</code></a></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/CacheConfiguration.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/AtomicConfiguration.html" title="class in org.apache.ignite.configuration"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/ignite/configuration/CacheQueryConfiguration.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/CacheConfiguration.html" target="_top">Frames</a></li>
<li><a href="CacheConfiguration.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>
