<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.7.5/javadoc/deprecated-list.html" />

<META NAME="ROBOTS" CONTENT="NOINDEX">

<!-- Generated by javadoc (1.8.0_212) on Tue Jun 04 17:20:22 MSK 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Deprecated List (Ignite 2.7.5)</title>
<meta name="date" content="2019-06-04">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<link rel='shortcut icon' href='https://ignite.apache.org/favicon.ico'/>
<link type='text/css' rel='stylesheet' href='http://agorbatchev.typepad.com/pub/sh/3_0_83/styles/shCore.css'/>
<link type='text/css' rel='stylesheet' href='http://agorbatchev.typepad.com/pub/sh/3_0_83/styles/shThemeDefault.css'/>
<script type='text/javascript' src='http://agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shCore.js'></script>
<script type='text/javascript' src='http://agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shLegacy.js'></script>
<script type='text/javascript' src='http://agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shBrushJava.js'></script>
<script type='text/javascript' src='http://agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shBrushPlain.js'></script>
<script type='text/javascript' src='http://agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shBrushJScript.js'></script>
<script type='text/javascript' src='http://agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shBrushBash.js'></script>
<script type='text/javascript' src='http://agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shBrushXml.js'></script>
<script type='text/javascript' src='http://agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shBrushScala.js'></script>
<script type='text/javascript' src='http://agorbatchev.typepad.com/pub/sh/3_0_83/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"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Deprecated List (Ignite 2.7.5)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li class="navBarCell1Rev">Deprecated</li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">Ignite - In-Memory Database and Caching Platform</div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
<li><a href="deprecated-list.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Deprecated API" class="title">Deprecated API</h1>
<h2 title="Contents">Contents</h2>
<ul>
<li><a href="#interface">Deprecated Interfaces</a></li>
<li><a href="#class">Deprecated Classes</a></li>
<li><a href="#annotation.type">Deprecated Annotation Types</a></li>
<li><a href="#field">Deprecated Fields</a></li>
<li><a href="#method">Deprecated Methods</a></li>
<li><a href="#constructor">Deprecated Constructors</a></li>
<li><a href="#enum.constant">Deprecated Enum Constants</a></li>
<li><a href="#annotation.type.member">Deprecated Annotation Type Elements</a></li>
</ul>
</div>
<div class="contentContainer"><a name="interface">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Interfaces table, listing deprecated interfaces, and an explanation">
<caption><span>Deprecated Interfaces</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Interface and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/cache/affinity/AffinityKeyMapper.html" title="interface in org.apache.ignite.cache.affinity">org.apache.ignite.cache.affinity.AffinityKeyMapper</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/cache/affinity/AffinityKeyMapped.html" title="annotation in org.apache.ignite.cache.affinity"><code>AffinityKeyMapped</code></a> or <a href="org/apache/ignite/cache/CacheKeyConfiguration.html#setAffinityKeyFieldName-java.lang.String-"><code>CacheKeyConfiguration.setAffinityKeyFieldName(String)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/lang/IgniteAsyncSupport.html" title="interface in org.apache.ignite.lang">org.apache.ignite.lang.IgniteAsyncSupport</a>
<div class="block"><span class="deprecationComment">since 2.0. Please use specialized asynchronous methods.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/MemoryMetrics.html" title="interface in org.apache.ignite">org.apache.ignite.MemoryMetrics</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/DataRegionMetrics.html" title="interface in org.apache.ignite"><code>DataRegionMetrics</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/mxbean/MemoryMetricsMXBean.html" title="interface in org.apache.ignite.mxbean">org.apache.ignite.mxbean.MemoryMetricsMXBean</a>
<div class="block"><span class="deprecationComment">Part of old API. Metrics are accessible through <a href="org/apache/ignite/mxbean/DataRegionMetricsMXBean.html" title="interface in org.apache.ignite.mxbean"><code>DataRegionMetricsMXBean</code></a>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/PersistenceMetrics.html" title="interface in org.apache.ignite">org.apache.ignite.PersistenceMetrics</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/DataStorageMetrics.html" title="interface in org.apache.ignite"><code>DataStorageMetrics</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/mxbean/PersistenceMetricsMXBean.html" title="interface in org.apache.ignite.mxbean">org.apache.ignite.mxbean.PersistenceMetricsMXBean</a>
<div class="block"><span class="deprecationComment">Part of old API. Metrics are accessible through <a href="org/apache/ignite/mxbean/DataStorageMetricsMXBean.html" title="interface in org.apache.ignite.mxbean"><code>DataStorageMetricsMXBean</code></a>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/stream/StreamTupleExtractor.html" title="interface in org.apache.ignite.stream">org.apache.ignite.stream.StreamTupleExtractor</a>
<div class="block"><span class="deprecationComment">Will be removed in 2.0.0.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="class">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Classes table, listing deprecated classes, and an explanation">
<caption><span>Deprecated Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/MemoryConfiguration.html" title="class in org.apache.ignite.configuration">org.apache.ignite.configuration.MemoryConfiguration</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/DataStorageConfiguration.html" title="class in org.apache.ignite.configuration"><code>DataStorageConfiguration</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/MemoryPolicyConfiguration.html" title="class in org.apache.ignite.configuration">org.apache.ignite.configuration.MemoryPolicyConfiguration</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/DataRegionConfiguration.html" title="class in org.apache.ignite.configuration"><code>DataRegionConfiguration</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/OdbcConfiguration.html" title="class in org.apache.ignite.configuration">org.apache.ignite.configuration.OdbcConfiguration</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/PersistentStoreConfiguration.html" title="class in org.apache.ignite.configuration">org.apache.ignite.configuration.PersistentStoreConfiguration</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/DataStorageConfiguration.html" title="class in org.apache.ignite.configuration"><code>DataStorageConfiguration</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/SqlConnectorConfiguration.html" title="class in org.apache.ignite.configuration">org.apache.ignite.configuration.SqlConnectorConfiguration</a></td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="annotation.type">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Annotation Types table, listing deprecated annotation types, and an explanation">
<caption><span>Deprecated Annotation Types</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Annotation Type and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/lang/IgniteAsyncSupported.html" title="annotation in org.apache.ignite.lang">org.apache.ignite.lang.IgniteAsyncSupported</a>
<div class="block"><span class="deprecationComment">since 2.0. Please use specialized asynchronous methods.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="field">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Fields table, listing deprecated fields, and an explanation">
<caption><span>Deprecated Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Field and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#DFLT_LATE_AFF_ASSIGNMENT">org.apache.ignite.configuration.IgniteConfiguration.DFLT_LATE_AFF_ASSIGNMENT</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/CacheConfiguration.html#DFLT_LONG_QRY_WARN_TIMEOUT">org.apache.ignite.configuration.CacheConfiguration.DFLT_LONG_QRY_WARN_TIMEOUT</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/IgniteDataStreamer.html#DFLT_MAX_PARALLEL_OPS">org.apache.ignite.IgniteDataStreamer.DFLT_MAX_PARALLEL_OPS</a>
<div class="block"><span class="deprecationComment">Is not used anymore.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/CacheConfiguration.html#DFLT_REBALANCE_THREAD_POOL_SIZE">org.apache.ignite.configuration.CacheConfiguration.DFLT_REBALANCE_THREAD_POOL_SIZE</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/cache/hibernate/HibernateAccessStrategyFactory.html#GRID_NAME_PROPERTY">org.apache.ignite.cache.hibernate.HibernateAccessStrategyFactory.GRID_NAME_PROPERTY</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/cache/hibernate/HibernateAccessStrategyFactory.html#IGNITE_INSTANCE_NAME_PROPERTY"><code>HibernateAccessStrategyFactory.IGNITE_INSTANCE_NAME_PROPERTY</code></a>.
      If <a href="org/apache/ignite/cache/hibernate/HibernateAccessStrategyFactory.html#IGNITE_INSTANCE_NAME_PROPERTY"><code>HibernateAccessStrategyFactory.IGNITE_INSTANCE_NAME_PROPERTY</code></a> is specified it takes precedence.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/IgniteSystemProperties.html#IGNITE_BINARY_DONT_WRAP_TREE_STRUCTURES">org.apache.ignite.IgniteSystemProperties.IGNITE_BINARY_DONT_WRAP_TREE_STRUCTURES</a>
<div class="block"><span class="deprecationComment">Should be removed in Apache Ignite 2.0.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/IgniteSystemProperties.html#IGNITE_BINARY_SORT_OBJECT_FIELDS">org.apache.ignite.IgniteSystemProperties.IGNITE_BINARY_SORT_OBJECT_FIELDS</a>
<div class="block"><span class="deprecationComment">Should be removed in Apache Ignite 2.0.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/IgniteSystemProperties.html#IGNITE_LOG_GRID_NAME">org.apache.ignite.IgniteSystemProperties.IGNITE_LOG_GRID_NAME</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/IgniteSystemProperties.html#IGNITE_LOG_INSTANCE_NAME"><code>IgniteSystemProperties.IGNITE_LOG_INSTANCE_NAME</code></a>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/IgniteSystemProperties.html#IGNITE_MIN_BUFFERED_COMMUNICATION_MSG_CNT">org.apache.ignite.IgniteSystemProperties.IGNITE_MIN_BUFFERED_COMMUNICATION_MSG_CNT</a>
<div class="block"><span class="deprecationComment">Not used anymore.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/IgniteSystemProperties.html#IGNITE_REST_GETALL_AS_ARRAY">org.apache.ignite.IgniteSystemProperties.IGNITE_REST_GETALL_AS_ARRAY</a>
<div class="block"><span class="deprecationComment">Should be made default in Apache Ignite 3.0.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/IgniteSystemProperties.html#IGNITE_UNWRAP_BINARY_FOR_INDEXING_SPI">org.apache.ignite.IgniteSystemProperties.IGNITE_UNWRAP_BINARY_FOR_INDEXING_SPI</a>
<div class="block"><span class="deprecationComment">Should be removed in Apache Ignite 2.0.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="method">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Methods table, listing deprecated methods, and an explanation">
<caption><span>Deprecated Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/Ignite.html#active--">org.apache.ignite.Ignite.active()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/IgniteCluster.html#active--"><code>IgniteCluster.active()</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/Ignite.html#active-boolean-">org.apache.ignite.Ignite.active(boolean)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/IgniteCluster.html#active-boolean-"><code>IgniteCluster.active(boolean)</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/spi/IgniteSpiContext.html#addMessageListener-org.apache.ignite.internal.managers.communication.GridMessageListener-java.lang.String-">org.apache.ignite.spi.IgniteSpiContext.addMessageListener(GridMessageListener, String)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/spi/IgniteSpiContext.html#addLocalMessageListener-java.lang.Object-org.apache.ignite.lang.IgniteBiPredicate-"><code>IgniteSpiContext.addLocalMessageListener(Object, IgniteBiPredicate)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/cache/CacheMetrics.html#estimateRebalancingFinishTime--">org.apache.ignite.cache.CacheMetrics.estimateRebalancingFinishTime()</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/IgniteCompute.html#future--">org.apache.ignite.IgniteCompute.future()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/lang/IgniteAsyncSupport.html#future--">org.apache.ignite.lang.IgniteAsyncSupport.future()</a>
<div class="block"><span class="deprecationComment">since 2.0. Please use new specialized async method
 e.g.
 <pre>
     IgniteFuture f = cache.getAsync();
 </pre>
 instead of old-style async API:
 <pre>
     IgniteCache asyncCache = cache.withAsync();
     asyncCache.get(key);
     IgniteFuture fut = asyncCache.future();
 </pre></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/yarn/ApplicationMaster.html#getContainers--">org.apache.ignite.yarn.ApplicationMaster.getContainers()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/spi/discovery/DiscoverySpiMBean.html#getCoordinator--">org.apache.ignite.spi.discovery.DiscoverySpiMBean.getCoordinator()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/spi/discovery/DiscoverySpiMBean.html#getCoordinatorNodeFormatted--"><code>DiscoverySpiMBean.getCoordinatorNodeFormatted()</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/cache/CacheMetrics.html#getDhtEvictQueueCurrentSize--">org.apache.ignite.cache.CacheMetrics.getDhtEvictQueueCurrentSize()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#getDiscoveryStartupDelay--">org.apache.ignite.configuration.IgniteConfiguration.getDiscoveryStartupDelay()</a>
<div class="block"><span class="deprecationComment">Not used any more.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/CacheConfiguration.html#getEvictionPolicy--">org.apache.ignite.configuration.CacheConfiguration.getEvictionPolicy()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/CacheConfiguration.html#getEvictionPolicyFactory--"><code>CacheConfiguration.getEvictionPolicyFactory()</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#getGridName--">org.apache.ignite.configuration.IgniteConfiguration.getGridName()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/IgniteConfiguration.html#getIgniteInstanceName--"><code>IgniteConfiguration.getIgniteInstanceName()</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/transactions/spring/SpringTransactionManager.html#getGridName--">org.apache.ignite.transactions.spring.SpringTransactionManager.getGridName()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/transactions/spring/SpringTransactionManager.html#getIgniteInstanceName--"><code>SpringTransactionManager.getIgniteInstanceName()</code></a>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/cache/spring/SpringCacheManager.html#getGridName--">org.apache.ignite.cache.spring.SpringCacheManager.getGridName()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/cache/spring/SpringCacheManager.html#getIgniteInstanceName--"><code>SpringCacheManager.getIgniteInstanceName()</code></a>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/cache/CacheMetrics.html#getKeySize--">org.apache.ignite.cache.CacheMetrics.getKeySize()</a>
<div class="block"><span class="deprecationComment">Can overflow. Use <a href="org/apache/ignite/cache/CacheMetrics.html#getCacheSize--"><code>CacheMetrics.getCacheSize()</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/CacheConfiguration.html#getLongQueryWarningTimeout--">org.apache.ignite.configuration.CacheConfiguration.getLongQueryWarningTimeout()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/IgniteConfiguration.html#getLongQueryWarningTimeout--"><code>IgniteConfiguration.getLongQueryWarningTimeout()</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#getMarshaller--">org.apache.ignite.configuration.IgniteConfiguration.getMarshaller()</a>
<div class="block"><span class="deprecationComment">Since 2.1. Some Ignite features will not work if non-null marshaller is set
     (IgniteCache.withKeepBinary(), .NET, CPP, ODBC)</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#getMemoryConfiguration--">org.apache.ignite.configuration.IgniteConfiguration.getMemoryConfiguration()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/DataStorageConfiguration.html" title="class in org.apache.ignite.configuration"><code>DataStorageConfiguration</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/CacheConfiguration.html#getMemoryPolicyName--">org.apache.ignite.configuration.CacheConfiguration.getMemoryPolicyName()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/CacheConfiguration.html#getDataRegionName--"><code>CacheConfiguration.getDataRegionName()</code></a> (String)} instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/NearCacheConfiguration.html#getNearEvictionPolicy--">org.apache.ignite.configuration.NearCacheConfiguration.getNearEvictionPolicy()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/NearCacheConfiguration.html#getNearEvictionPolicyFactory--"><code>NearCacheConfiguration.getNearEvictionPolicyFactory()</code></a>  instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#getNodeId--">org.apache.ignite.configuration.IgniteConfiguration.getNodeId()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#getOdbcConfiguration--">org.apache.ignite.configuration.IgniteConfiguration.getOdbcConfiguration()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/IgniteConfiguration.html#getClientConnectorConfiguration--"><code>IgniteConfiguration.getClientConnectorConfiguration()</code></a> ()} instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#getPersistentStoreConfiguration--">org.apache.ignite.configuration.IgniteConfiguration.getPersistentStoreConfiguration()</a>
<div class="block"><span class="deprecationComment">Part of old API. Use <a href="org/apache/ignite/configuration/DataStorageConfiguration.html" title="class in org.apache.ignite.configuration"><code>DataStorageConfiguration</code></a> for configuring persistence instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/CacheConfiguration.html#getRebalanceThreadPoolSize--">org.apache.ignite.configuration.CacheConfiguration.getRebalanceThreadPoolSize()</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/cache/CacheMetrics.html#getSize--">org.apache.ignite.cache.CacheMetrics.getSize()</a>
<div class="block"><span class="deprecationComment">Can overflow. Use <a href="org/apache/ignite/cache/CacheMetrics.html#getCacheSize--"><code>CacheMetrics.getCacheSize()</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#getSqlConnectorConfiguration--">org.apache.ignite.configuration.IgniteConfiguration.getSqlConnectorConfiguration()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/IgniteConfiguration.html#getClientConnectorConfiguration--"><code>IgniteConfiguration.getClientConnectorConfiguration()</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/ConnectorConfiguration.html#getSslContextFactory--">org.apache.ignite.configuration.ConnectorConfiguration.getSslContextFactory()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/ConnectorConfiguration.html#getSslFactory--"><code>ConnectorConfiguration.getSslFactory()</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/PersistentStoreConfiguration.html#getTlbSize--">org.apache.ignite.configuration.PersistentStoreConfiguration.getTlbSize()</a>
<div class="block"><span class="deprecationComment">Instead <a href="org/apache/ignite/configuration/PersistentStoreConfiguration.html#getWalBufferSize--"><code>PersistentStoreConfiguration.getWalBufferSize()</code></a> should be used.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/CacheConfiguration.html#getTransactionManagerLookupClassName--">org.apache.ignite.configuration.CacheConfiguration.getTransactionManagerLookupClassName()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/TransactionConfiguration.html#getTxManagerFactory--"><code>TransactionConfiguration.getTxManagerFactory()</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/stream/StreamAdapter.html#getTupleExtractor--">org.apache.ignite.stream.StreamAdapter.getTupleExtractor()</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/cache/CacheMetrics.html#getTxCommitQueueSize--">org.apache.ignite.cache.CacheMetrics.getTxCommitQueueSize()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/cache/CacheMetrics.html#getTxDhtCommitQueueSize--">org.apache.ignite.cache.CacheMetrics.getTxDhtCommitQueueSize()</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/cache/CacheMetrics.html#getTxDhtPrepareQueueSize--">org.apache.ignite.cache.CacheMetrics.getTxDhtPrepareQueueSize()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/cache/CacheMetrics.html#getTxDhtStartVersionCountsSize--">org.apache.ignite.cache.CacheMetrics.getTxDhtStartVersionCountsSize()</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/TransactionConfiguration.html#getTxManagerLookupClassName--">org.apache.ignite.configuration.TransactionConfiguration.getTxManagerLookupClassName()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/TransactionConfiguration.html#getTxManagerFactory--"><code>TransactionConfiguration.getTxManagerFactory()</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/cache/CacheMetrics.html#getTxPrepareQueueSize--">org.apache.ignite.cache.CacheMetrics.getTxPrepareQueueSize()</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/cache/CacheMetrics.html#getTxStartVersionCountsSize--">org.apache.ignite.cache.CacheMetrics.getTxStartVersionCountsSize()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/PersistentStoreConfiguration.html#getWalBufferSize--">org.apache.ignite.configuration.PersistentStoreConfiguration.getWalBufferSize()</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/DataStorageConfiguration.html#getWalHistorySize--">org.apache.ignite.configuration.DataStorageConfiguration.getWalHistorySize()</a>
<div class="block"><span class="deprecationComment">Instead of walHistorySize use maxWalArchiveSize for manage of archive size.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/lang/IgniteAsyncSupport.html#isAsync--">org.apache.ignite.lang.IgniteAsyncSupport.isAsync()</a>
<div class="block"><span class="deprecationComment">since 2.0. Please use new specialized async method
 e.g.
 <pre>
     IgniteFuture f = cache.getAsync();
 </pre>
 instead of old-style async API:
 <pre>
     IgniteCache asyncCache = cache.withAsync();
     asyncCache.get(key);
     IgniteFuture fut = asyncCache.future();
 </pre></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#isForceServerMode--">org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.isForceServerMode()</a>
<div class="block"><span class="deprecationComment">Will be removed at 3.0.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/platform/dotnet/PlatformDotNetBinaryTypeConfiguration.html#isKeepDeserialized--">org.apache.ignite.platform.dotnet.PlatformDotNetBinaryTypeConfiguration.isKeepDeserialized()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/platform/dotnet/PlatformDotNetBinaryTypeConfiguration.html#getKeepDeserialized--"><code>PlatformDotNetBinaryTypeConfiguration.getKeepDeserialized()</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#isLateAffinityAssignment--">org.apache.ignite.configuration.IgniteConfiguration.isLateAffinityAssignment()</a>
<div class="block"><span class="deprecationComment">Starting from Ignite 2.1 late affinity assignment is always enabled.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#isPersistentStoreEnabled--">org.apache.ignite.configuration.IgniteConfiguration.isPersistentStoreEnabled()</a>
<div class="block"><span class="deprecationComment">Part of legacy configuration API. Doesn't work if new configuration API is used.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/TransactionConfiguration.html#isTxSerializableEnabled--">org.apache.ignite.configuration.TransactionConfiguration.isTxSerializableEnabled()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/Ignite.html#memoryMetrics--">org.apache.ignite.Ignite.memoryMetrics()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/Ignite.html#dataRegionMetrics--"><code>Ignite.dataRegionMetrics()</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/Ignite.html#memoryMetrics-java.lang.String-">org.apache.ignite.Ignite.memoryMetrics(String)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/Ignite.html#dataRegionMetrics-java.lang.String-"><code>Ignite.dataRegionMetrics(String)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/Ignite.html#persistentStoreMetrics--">org.apache.ignite.Ignite.persistentStoreMetrics()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/Ignite.html#dataStorageMetrics--"><code>Ignite.dataStorageMetrics()</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/cache/CacheMetrics.html#rebalancingStartTime--">org.apache.ignite.cache.CacheMetrics.rebalancingStartTime()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/spi/IgniteSpiContext.html#removeMessageListener-org.apache.ignite.internal.managers.communication.GridMessageListener-java.lang.String-">org.apache.ignite.spi.IgniteSpiContext.removeMessageListener(GridMessageListener, String)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/spi/IgniteSpiContext.html#removeLocalMessageListener-java.lang.Object-org.apache.ignite.lang.IgniteBiPredicate-"><code>IgniteSpiContext.removeLocalMessageListener(Object, IgniteBiPredicate)</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/cache/store/CacheStore.html#sessionEnd-boolean-">org.apache.ignite.cache.store.CacheStore.sessionEnd(boolean)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/cache/store/CacheStoreSessionListener.html" title="interface in org.apache.ignite.cache.store"><code>CacheStoreSessionListener</code></a> instead (refer to its JavaDoc for details).</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunction.html#setBackupFilter-org.apache.ignite.lang.IgniteBiPredicate-">org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction.setBackupFilter(IgniteBiPredicate<span class='angle_bracket'>&lt;</span>ClusterNode, ClusterNode<span class='angle_bracket'>&gt;</span>)</a>
<div class="block"><span class="deprecationComment">Use <code>affinityBackupFilter</code> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStoreFactory.html#setDataSource-javax.sql.DataSource-">org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.setDataSource(DataSource)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#setDiscoveryStartupDelay-long-">org.apache.ignite.configuration.IgniteConfiguration.setDiscoveryStartupDelay(long)</a>
<div class="block"><span class="deprecationComment">Not used any more.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/CacheConfiguration.html#setEvictionPolicy-org.apache.ignite.cache.eviction.EvictionPolicy-">org.apache.ignite.configuration.CacheConfiguration.setEvictionPolicy(EvictionPolicy)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/CacheConfiguration.html#setEvictionPolicyFactory-javax.cache.configuration.Factory-"><code>CacheConfiguration.setEvictionPolicyFactory(Factory)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setForceServerMode-boolean-">org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.setForceServerMode(boolean)</a>
<div class="block"><span class="deprecationComment">Will be removed at 3.0.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#setGridName-java.lang.String-">org.apache.ignite.configuration.IgniteConfiguration.setGridName(String)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/IgniteConfiguration.html#setIgniteInstanceName-java.lang.String-"><code>IgniteConfiguration.setIgniteInstanceName(String)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/transactions/spring/SpringTransactionManager.html#setGridName-java.lang.String-">org.apache.ignite.transactions.spring.SpringTransactionManager.setGridName(String)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/transactions/spring/SpringTransactionManager.html#setIgniteInstanceName-java.lang.String-"><code>SpringTransactionManager.setIgniteInstanceName(String)</code></a>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/cache/spring/SpringCacheManager.html#setGridName-java.lang.String-">org.apache.ignite.cache.spring.SpringCacheManager.setGridName(String)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/cache/spring/SpringCacheManager.html#setIgniteInstanceName-java.lang.String-"><code>SpringCacheManager.setIgniteInstanceName(String)</code></a>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#setLateAffinityAssignment-boolean-">org.apache.ignite.configuration.IgniteConfiguration.setLateAffinityAssignment(boolean)</a>
<div class="block"><span class="deprecationComment">Starting from Ignite 2.1 late affinity assignment is always enabled.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/spi/discovery/DiscoverySpi.html#setListener-org.apache.ignite.spi.discovery.DiscoverySpiListener-">org.apache.ignite.spi.discovery.DiscoverySpi.setListener(DiscoverySpiListener)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/CacheConfiguration.html#setLongQueryWarningTimeout-long-">org.apache.ignite.configuration.CacheConfiguration.setLongQueryWarningTimeout(long)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/IgniteConfiguration.html#setLongQueryWarningTimeout-long-"><code>IgniteConfiguration.setLongQueryWarningTimeout(long)</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#setMarshaller-org.apache.ignite.marshaller.Marshaller-">org.apache.ignite.configuration.IgniteConfiguration.setMarshaller(Marshaller)</a>
<div class="block"><span class="deprecationComment">Since 2.1. Some Ignite features will not work if non-null marshaller is set
     (IgniteCache.withKeepBinary(), .NET, CPP, ODBC)</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#setMemoryConfiguration-org.apache.ignite.configuration.MemoryConfiguration-">org.apache.ignite.configuration.IgniteConfiguration.setMemoryConfiguration(MemoryConfiguration)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/DataStorageConfiguration.html" title="class in org.apache.ignite.configuration"><code>DataStorageConfiguration</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/CacheConfiguration.html#setMemoryPolicyName-java.lang.String-">org.apache.ignite.configuration.CacheConfiguration.setMemoryPolicyName(String)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/CacheConfiguration.html#setDataRegionName-java.lang.String-"><code>CacheConfiguration.setDataRegionName(String)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/NearCacheConfiguration.html#setNearEvictionPolicy-org.apache.ignite.cache.eviction.EvictionPolicy-">org.apache.ignite.configuration.NearCacheConfiguration.setNearEvictionPolicy(EvictionPolicy<span class='angle_bracket'>&lt;</span>K, V<span class='angle_bracket'>&gt;</span>)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/NearCacheConfiguration.html#setNearEvictionPolicyFactory-javax.cache.configuration.Factory-"><code>NearCacheConfiguration.setNearEvictionPolicyFactory(Factory)</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#setNodeId-java.util.UUID-">org.apache.ignite.configuration.IgniteConfiguration.setNodeId(UUID)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/IgniteConfiguration.html#setConsistentId-java.io.Serializable-"><code>IgniteConfiguration.setConsistentId(Serializable)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#setOdbcConfiguration-org.apache.ignite.configuration.OdbcConfiguration-">org.apache.ignite.configuration.IgniteConfiguration.setOdbcConfiguration(OdbcConfiguration)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/IgniteConfiguration.html#setClientConnectorConfiguration-org.apache.ignite.configuration.ClientConnectorConfiguration-"><code>IgniteConfiguration.setClientConnectorConfiguration(ClientConnectorConfiguration)</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#setPersistentStoreConfiguration-org.apache.ignite.configuration.PersistentStoreConfiguration-">org.apache.ignite.configuration.IgniteConfiguration.setPersistentStoreConfiguration(PersistentStoreConfiguration)</a>
<div class="block"><span class="deprecationComment">Part of old API. Use <a href="org/apache/ignite/configuration/DataStorageConfiguration.html" title="class in org.apache.ignite.configuration"><code>DataStorageConfiguration</code></a> for configuring persistence instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/CacheConfiguration.html#setRebalanceThreadPoolSize-int-">org.apache.ignite.configuration.CacheConfiguration.setRebalanceThreadPoolSize(int)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/cache/query/ContinuousQuery.html#setRemoteFilter-org.apache.ignite.cache.CacheEntryEventSerializableFilter-">org.apache.ignite.cache.query.ContinuousQuery.setRemoteFilter(CacheEntryEventSerializableFilter<span class='angle_bracket'>&lt;</span>K, V<span class='angle_bracket'>&gt;</span>)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/cache/query/AbstractContinuousQuery.html#setRemoteFilterFactory-javax.cache.configuration.Factory-"><code>AbstractContinuousQuery.setRemoteFilterFactory(Factory)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#setSqlConnectorConfiguration-org.apache.ignite.configuration.SqlConnectorConfiguration-">org.apache.ignite.configuration.IgniteConfiguration.setSqlConnectorConfiguration(SqlConnectorConfiguration)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/IgniteConfiguration.html#setClientConnectorConfiguration-org.apache.ignite.configuration.ClientConnectorConfiguration-"><code>IgniteConfiguration.setClientConnectorConfiguration(ClientConnectorConfiguration)</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/ConnectorConfiguration.html#setSslContextFactory-org.apache.ignite.internal.client.ssl.GridSslContextFactory-">org.apache.ignite.configuration.ConnectorConfiguration.setSslContextFactory(GridSslContextFactory)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/ConnectorConfiguration.html#setSslFactory-javax.cache.configuration.Factory-"><code>ConnectorConfiguration.setSslFactory(Factory)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/PersistentStoreConfiguration.html#setTlbSize-int-">org.apache.ignite.configuration.PersistentStoreConfiguration.setTlbSize(int)</a>
<div class="block"><span class="deprecationComment">Instead <a href="org/apache/ignite/configuration/PersistentStoreConfiguration.html#setWalBufferSize-int-"><code>PersistentStoreConfiguration.setWalBufferSize(int walBuffSize)</code></a> should be used.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/CacheConfiguration.html#setTransactionManagerLookupClassName-java.lang.String-">org.apache.ignite.configuration.CacheConfiguration.setTransactionManagerLookupClassName(String)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/TransactionConfiguration.html#setTxManagerFactory-javax.cache.configuration.Factory-"><code>TransactionConfiguration.setTxManagerFactory(Factory)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/stream/StreamAdapter.html#setTupleExtractor-org.apache.ignite.stream.StreamTupleExtractor-">org.apache.ignite.stream.StreamAdapter.setTupleExtractor(StreamTupleExtractor<span class='angle_bracket'>&lt;</span>T, K, V<span class='angle_bracket'>&gt;</span>)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/TransactionConfiguration.html#setTxManagerLookupClassName-java.lang.String-">org.apache.ignite.configuration.TransactionConfiguration.setTxManagerLookupClassName(String)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/configuration/TransactionConfiguration.html#setTxManagerFactory-javax.cache.configuration.Factory-"><code>TransactionConfiguration.setTxManagerFactory(Factory)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/TransactionConfiguration.html#setTxSerializableEnabled-boolean-">org.apache.ignite.configuration.TransactionConfiguration.setTxSerializableEnabled(boolean)</a>
<div class="block"><span class="deprecationComment">This method has no effect, <a href="org/apache/ignite/transactions/TransactionIsolation.html#SERIALIZABLE"><code>TransactionIsolation.SERIALIZABLE</code></a> isolation is always enabled.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/PersistentStoreConfiguration.html#setWalBufferSize-int-">org.apache.ignite.configuration.PersistentStoreConfiguration.setWalBufferSize(int)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/DataStorageConfiguration.html#setWalHistorySize-int-">org.apache.ignite.configuration.DataStorageConfiguration.setWalHistorySize(int)</a>
<div class="block"><span class="deprecationComment">Instead of walHistorySize use maxWalArchiveSize for manage of archive size.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/IgniteMessaging.html#withAsync--">org.apache.ignite.IgniteMessaging.withAsync()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/IgniteEvents.html#withAsync--">org.apache.ignite.IgniteEvents.withAsync()</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/IgniteServices.html#withAsync--">org.apache.ignite.IgniteServices.withAsync()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/IgniteCache.html#withAsync--">org.apache.ignite.IgniteCache.withAsync()</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/IgniteCluster.html#withAsync--">org.apache.ignite.IgniteCluster.withAsync()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/IgniteFileSystem.html#withAsync--">org.apache.ignite.IgniteFileSystem.withAsync()</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/IgniteCompute.html#withAsync--">org.apache.ignite.IgniteCompute.withAsync()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/lang/IgniteAsyncSupport.html#withAsync--">org.apache.ignite.lang.IgniteAsyncSupport.withAsync()</a>
<div class="block"><span class="deprecationComment">since 2.0. Please use new specialized async method
 e.g.
 <pre>
     IgniteFuture f = cache.getAsync();
 </pre>
 instead of old-style async API:
 <pre>
     IgniteCache asyncCache = cache.withAsync();
     asyncCache.get(key);
     IgniteFuture fut = asyncCache.future();
 </pre></span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="constructor">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Constructors table, listing deprecated constructors, and an explanation">
<caption><span>Deprecated Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.html#IgniteHadoopIgfsSecondaryFileSystem-java.lang.String-">org.apache.ignite.hadoop.fs.IgniteHadoopIgfsSecondaryFileSystem(String)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.html#getFileSystemFactory--"><code>IgniteHadoopIgfsSecondaryFileSystem.getFileSystemFactory()</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.html#IgniteHadoopIgfsSecondaryFileSystem-java.lang.String-java.lang.String-">org.apache.ignite.hadoop.fs.IgniteHadoopIgfsSecondaryFileSystem(String, String)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.html#getFileSystemFactory--"><code>IgniteHadoopIgfsSecondaryFileSystem.getFileSystemFactory()</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.html#IgniteHadoopIgfsSecondaryFileSystem-java.lang.String-java.lang.String-java.lang.String-">org.apache.ignite.hadoop.fs.IgniteHadoopIgfsSecondaryFileSystem(String, String, String)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.html#getFileSystemFactory--"><code>IgniteHadoopIgfsSecondaryFileSystem.getFileSystemFactory()</code></a> instead.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="enum.constant">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Enum Constants table, listing deprecated enum constants, and an explanation">
<caption><span>Deprecated Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Enum Constant and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/configuration/WALMode.html#DEFAULT">org.apache.ignite.configuration.WALMode.DEFAULT</a>
<div class="block"><span class="deprecationComment">This mode is no longer default and left here only for API compatibility. It is equivalent to the
 <code>FSYNC</code> mode.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="annotation.type.member">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Annotation Type Elements table, listing deprecated annotation type elements, and an explanation">
<caption><span>Deprecated Annotation Type Elements</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Annotation Type Element and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/compute/gridify/Gridify.html#gridName--">org.apache.ignite.compute.gridify.Gridify.gridName</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/compute/gridify/Gridify.html#igniteInstanceName--"><code>Gridify.igniteInstanceName()</code></a>. Nonempty <a href="org/apache/ignite/compute/gridify/Gridify.html#igniteInstanceName--"><code>Gridify.igniteInstanceName()</code></a> takes precedence.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/compute/gridify/GridifySetToValue.html#gridName--">org.apache.ignite.compute.gridify.GridifySetToValue.gridName</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/compute/gridify/GridifySetToValue.html#igniteInstanceName--"><code>GridifySetToValue.igniteInstanceName()</code></a>. Nonempty <a href="org/apache/ignite/compute/gridify/GridifySetToValue.html#igniteInstanceName--"><code>GridifySetToValue.igniteInstanceName()</code></a> takes precedence.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/compute/gridify/GridifySetToSet.html#gridName--">org.apache.ignite.compute.gridify.GridifySetToSet.gridName</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/ignite/compute/gridify/GridifySetToSet.html#igniteInstanceName--"><code>GridifySetToSet.igniteInstanceName()</code></a>. Nonempty <a href="org/apache/ignite/compute/gridify/GridifySetToSet.html#igniteInstanceName--"><code>GridifySetToSet.igniteInstanceName()</code></a> takes precedence.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li class="navBarCell1Rev">Deprecated</li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">Ignite - In-Memory Database and Caching Platform</div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
<li><a href="deprecated-list.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px">                                     <tr>                                         <td>                                             <table style="padding-left: 0; margin: 0">                                                 <tbody style="padding: 0; margin: 0">                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <a target=_blank href="https://ignite.apache.org"><nobr>2018 Copyright &#169; Apache Software Foundation</nobr></a>                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                         <td width="100%" align="right" valign="center">                                             <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a>                                         </td>                                     </tr>                                     <tr>                                         <td colspan="2" valign="top" align="left">                                             <table style="padding-left: 0; margin: 0">                                                 <tbody style="padding: 0; margin: 0">                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Ignite Database and Caching Platform</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             ver. <strong>2.7.5</strong>                                                         </td>                                                     </tr>                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Release Date</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             June 4 2019                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                     </tr>                                     </table></small></p>
<!--FOOTER--><script type='text/javascript'>SyntaxHighlighter.all();dp.SyntaxHighlighter.HighlightAll('code');!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>
</body>

</html>
