<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_21) on Thu Sep 24 19:11:33 MSK 2015 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>Deprecated List (Ignite 1.4.0)</title>
<meta name="date" content="2015-09-24">
<link rel="stylesheet" type="text/css" href="javadoc.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="Deprecated List (Ignite 1.4.0)";
    }
//-->
</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>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"><em>Ignite - In-Memory Data Fabric</em></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 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>
<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="#field">Deprecated Fields</a></li>
<li><a href="#method">Deprecated Methods</a></li>
</ul>
</div>
<div class="contentContainer"><a name="interface">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table 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/AffinityNodeHashResolver.html" title="interface in org.apache.ignite.cache.affinity">org.apache.ignite.cache.affinity.AffinityNodeHashResolver</a>
<div class="block"><i>Use <a href="org/apache/ignite/configuration/IgniteConfiguration.html#setConsistentId(java.io.Serializable)"><code>IgniteConfiguration.setConsistentId(Serializable)</code></a> instead.</i></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="class">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table 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/cache/affinity/AffinityNodeAddressHashResolver.html" title="class in org.apache.ignite.cache.affinity">org.apache.ignite.cache.affinity.AffinityNodeAddressHashResolver</a>
<div class="block"><i>Use <a href="org/apache/ignite/configuration/IgniteConfiguration.html#setConsistentId(java.io.Serializable)"><code>IgniteConfiguration.setConsistentId(Serializable)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/cache/affinity/AffinityNodeIdHashResolver.html" title="class in org.apache.ignite.cache.affinity">org.apache.ignite.cache.affinity.AffinityNodeIdHashResolver</a>
<div class="block"><i>Use <a href="org/apache/ignite/configuration/IgniteConfiguration.html#setConsistentId(java.io.Serializable)"><code>IgniteConfiguration.setConsistentId(Serializable)</code></a> instead.</i></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="field">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table 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/IgniteSystemProperties.html#IGNITE_MIN_BUFFERED_COMMUNICATION_MSG_CNT">org.apache.ignite.IgniteSystemProperties.IGNITE_MIN_BUFFERED_COMMUNICATION_MSG_CNT</a>
<div class="block"><i>Not used anymore.</i></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="method">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table 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/spi/communication/tcp/TcpCommunicationSpiMBean.html#getConnectionBufferFlushFrequency()">org.apache.ignite.spi.communication.tcp.TcpCommunicationSpiMBean.getConnectionBufferFlushFrequency()</a>
<div class="block"><i>Not used anymore.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getConnectionBufferFlushFrequency()">org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.getConnectionBufferFlushFrequency()</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getConnectionBufferSize()">org.apache.ignite.spi.communication.tcp.TcpCommunicationSpiMBean.getConnectionBufferSize()</a>
<div class="block"><i>Not used anymore.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getConnectionBufferSize()">org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.getConnectionBufferSize()</a></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/configuration/FileSystemConfiguration.html#getFragmentizerLocalWritesRatio()">org.apache.ignite.configuration.FileSystemConfiguration.getFragmentizerLocalWritesRatio()</a>
<div class="block"><i>Parameter is no longer used.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunction.html#getHashIdResolver()">org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction.getHashIdResolver()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getMinimumBufferedMessageCount()">org.apache.ignite.spi.communication.tcp.TcpCommunicationSpiMBean.getMinimumBufferedMessageCount()</a>
<div class="block"><i>Not used anymore.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getMinimumBufferedMessageCount()">org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.getMinimumBufferedMessageCount()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/IgniteConfiguration.html#getNodeId()">org.apache.ignite.configuration.IgniteConfiguration.getNodeId()</a></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"><i>Use <a href="org/apache/ignite/configuration/ConnectorConfiguration.html#getSslFactory()"><code>ConnectorConfiguration.getSslFactory()</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/CacheConfiguration.html#getTransactionManagerLookupClassName()">org.apache.ignite.configuration.CacheConfiguration.getTransactionManagerLookupClassName()</a>
<div class="block"><i>Use <a href="org/apache/ignite/configuration/TransactionConfiguration.html#getTxManagerLookupClassName()"><code>TransactionConfiguration.getTxManagerLookupClassName()</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/cache/affinity/AffinityNodeHashResolver.html#resolve(org.apache.ignite.cluster.ClusterNode)">org.apache.ignite.cache.affinity.AffinityNodeHashResolver.resolve(ClusterNode)</a></td>
</tr>
<tr class="rowColor">
<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"><i>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).</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#setConnectionBufferFlushFrequency(long)">org.apache.ignite.spi.communication.tcp.TcpCommunicationSpiMBean.setConnectionBufferFlushFrequency(long)</a>
<div class="block"><i>Not used anymore.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setConnectionBufferFlushFrequency(long)">org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.setConnectionBufferFlushFrequency(long)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setConnectionBufferSize(int)">org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.setConnectionBufferSize(int)</a>
<div class="block"><i>Not used any more.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/configuration/FileSystemConfiguration.html#setFragmentizerLocalWritesRatio(float)">org.apache.ignite.configuration.FileSystemConfiguration.setFragmentizerLocalWritesRatio(float)</a>
<div class="block"><i>Parameter is no longer used.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunction.html#setHashIdResolver(org.apache.ignite.cache.affinity.AffinityNodeHashResolver)">org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction.setHashIdResolver(AffinityNodeHashResolver)</a>
<div class="block"><i>Use <a href="org/apache/ignite/configuration/IgniteConfiguration.html#setConsistentId(java.io.Serializable)"><code>IgniteConfiguration.setConsistentId(Serializable)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setMinimumBufferedMessageCount(int)">org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.setMinimumBufferedMessageCount(int)</a>
<div class="block"><i>Not used any more.</i></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"><i>Use <a href="org/apache/ignite/configuration/IgniteConfiguration.html#setConsistentId(java.io.Serializable)"><code>IgniteConfiguration.setConsistentId(Serializable)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<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"><i>Use <a href="org/apache/ignite/configuration/ConnectorConfiguration.html#setSslFactory(javax.cache.configuration.Factory)"><code>ConnectorConfiguration.setSslFactory(Factory)</code></a> instead.</i></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"><i>Use <a href="org/apache/ignite/configuration/TransactionConfiguration.html#setTxManagerLookupClassName(java.lang.String)"><code>TransactionConfiguration.setTxManagerLookupClassName(String)</code></a> instead.</i></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<!-- ======= 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>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"><em>Ignite - In-Memory Data Fabric</em></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 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>
<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://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>Ignite Fabric</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             ver. <strong>1.4.0</strong>                                                         </td>                                                     </tr>                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Release Date</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             September 24 2015                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                     </tr>                                     </table></small></p>
</body>
</html>
