<!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/org/apache/ignite/IgniteDataStreamer.html" />

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

<!-- Generated by javadoc (1.8.0_212) on Tue Jun 04 17:20:08 MSK 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>IgniteDataStreamer (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="IgniteDataStreamer (Ignite 2.7.5)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/IgniteDataStreamer.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">Ignite - In-Memory Database and Caching Platform</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../org/apache/ignite/IgniteCountDownLatch.html" title="interface in org.apache.ignite"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/ignite/IgniteDataStreamerTimeoutException.html" title="class in org.apache.ignite"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/ignite/IgniteDataStreamer.html" target="_top">Frames</a></li>
<li><a href="IgniteDataStreamer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&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</div>
<h2 title="Interface IgniteDataStreamer" class="title">Interface IgniteDataStreamer<span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span></h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">IgniteDataStreamer<span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span></span>
extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></pre>
<div class="block">Data streamer is responsible for streaming external data into cache. It achieves it by
 properly buffering updates and properly mapping keys to nodes responsible for the data
 to make sure that there is the least amount of data movement possible and optimal
 network and memory utilization.
 <p>
 Note that data streamer data manipulation methods do not support transactions.
 When updating data with <a href="../../../org/apache/ignite/IgniteDataStreamer.html#allowOverwrite--"><code>allowOverwrite()</code></a> set to <code>false</code> new entry
 is created on primary and backups if it has not existed. If <a href="../../../org/apache/ignite/IgniteDataStreamer.html#allowOverwrite--"><code>allowOverwrite()</code></a>
 is <code>true</code> then batches are applied with regular <code>cache.put(..)</code> methods
 starting implicit transactions if streamer is targeted to a transactional cache.
 <p>
 However, explicit transactional updates inside are possible with custom <a href="../../../org/apache/ignite/stream/StreamReceiver.html" title="interface in org.apache.ignite.stream"><code>StreamReceiver</code></a>.
 This way batches can be applied within transaction(s) on target node.
 See <a href="../../../org/apache/ignite/IgniteDataStreamer.html#receiver-org.apache.ignite.stream.StreamReceiver-"><code>receiver(StreamReceiver)</code></a> for details.
 <p>
 Note that streamer will stream data concurrently by multiple internal threads, so the
 data may get to remote nodes in different order from which it was added to
 the streamer.
 <p>
 Also note that <code>IgniteDataStreamer</code> is not the only way to add data into cache.
 Alternatively you can use <a href="../../../org/apache/ignite/IgniteCache.html#loadCache-org.apache.ignite.lang.IgniteBiPredicate-java.lang.Object...-"><code>IgniteCache.loadCache(IgniteBiPredicate, Object...)</code></a>
 method to add data from underlying data store. You can also use standard
 cache <code>put(...)</code> and <code>putAll(...)</code> operations as well, but they most
 likely will not perform as well as this class for adding data. And finally,
 data can be added from underlying data store on demand, whenever it is accessed -
 for this no explicit data adding step is needed.
 <p>
 <code>IgniteDataStreamer</code> supports the following configuration properties:
 <ul>
  <li>
      <a href="../../../org/apache/ignite/IgniteDataStreamer.html#perNodeBufferSize-int-"><code>perNodeBufferSize(int)</code></a> - when entries are added to data streamer via
      <a href="../../../org/apache/ignite/IgniteDataStreamer.html#addData-K-V-"><code>addData(Object, Object)</code></a> method, they are not sent to in-memory data grid right
      away and are buffered internally for better performance and network utilization.
      This setting controls the size of internal per-node buffer before buffered data
      is sent to remote node. Default is defined by <a href="../../../org/apache/ignite/IgniteDataStreamer.html#DFLT_PER_NODE_BUFFER_SIZE"><code>DFLT_PER_NODE_BUFFER_SIZE</code></a>
      value.
  </li>
  <li>
      <a href="../../../org/apache/ignite/IgniteDataStreamer.html#perNodeParallelOperations-int-"><code>perNodeParallelOperations(int)</code></a> - sometimes data may be added
      to the data streamer via <a href="../../../org/apache/ignite/IgniteDataStreamer.html#addData-K-V-"><code>addData(Object, Object)</code></a> method faster than it can
      be put in cache. In this case, new buffered stream messages are sent to remote nodes
      before responses from previous ones are received. This could cause unlimited heap
      memory utilization growth on local and remote nodes. To control memory utilization,
      this setting limits maximum allowed number of parallel buffered stream messages that
      are being processed on remote nodes. If this number is exceeded, then
      <a href="../../../org/apache/ignite/IgniteDataStreamer.html#addData-K-V-"><code>addData(Object, Object)</code></a> method will block to control memory utilization.
      Default is equal to CPU count on remote node multiply by <a href="../../../org/apache/ignite/IgniteDataStreamer.html#DFLT_PARALLEL_OPS_MULTIPLIER"><code>DFLT_PARALLEL_OPS_MULTIPLIER</code></a>.
  </li>
  <li>
      <a href="../../../org/apache/ignite/IgniteDataStreamer.html#autoFlushFrequency-long-"><code>autoFlushFrequency(long)</code></a> - automatic flush frequency in milliseconds. Essentially,
      this is the time after which the streamer will make an attempt to submit all data
      added so far to remote nodes. Note that there is no guarantee that data will be
      delivered after this concrete attempt (e.g., it can fail when topology is
      changing), but it won't be lost anyway. Disabled by default (default value is <code>0</code>).
  </li>
  <li>
      <a href="../../../org/apache/ignite/IgniteDataStreamer.html#allowOverwrite-boolean-"><code>allowOverwrite(boolean)</code></a> - Sets flag enabling overwriting existing values in cache.
      Data streamer will perform better if this flag is disabled, which is the default setting.
  </li>
  <li>
      <a href="../../../org/apache/ignite/IgniteDataStreamer.html#receiver-org.apache.ignite.stream.StreamReceiver-"><code>receiver(StreamReceiver)</code></a> - defines how cache will be updated with added entries.
      It allows to provide user-defined custom logic to update the cache in the most effective and flexible way.
  </li>
  <li>
      <a href="../../../org/apache/ignite/IgniteDataStreamer.html#deployClass-java.lang.Class-"><code>deployClass(Class)</code></a> - optional deploy class for peer deployment. All classes
      streamed by a data streamer must be class-loadable from the same class-loader.
      Ignite will make the best effort to detect the most suitable class-loader
      for data loading. However, in complex cases, where compound or deeply nested
      class-loaders are used, it is best to specify a deploy class which can be any
      class loaded by the class-loader for given data.
  </li>
 </ul></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#DFLT_MAX_PARALLEL_OPS">DFLT_MAX_PARALLEL_OPS</a></span></code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Is not used anymore.</span></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#DFLT_PARALLEL_OPS_MULTIPLIER">DFLT_PARALLEL_OPS_MULTIPLIER</a></span></code>
<div class="block">Default multiplier for data streamer pool size to get concurrent batches count for each remote node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#DFLT_PER_NODE_BUFFER_SIZE">DFLT_PER_NODE_BUFFER_SIZE</a></span></code>
<div class="block">Default operations batch size to sent to remote node for loading.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#DFLT_PER_THREAD_BUFFER_SIZE">DFLT_PER_THREAD_BUFFER_SIZE</a></span></code>
<div class="block">Default batch size per thread to send to buffer on node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#DFLT_UNLIMIT_TIMEOUT">DFLT_UNLIMIT_TIMEOUT</a></span></code>
<div class="block">Default timeout for streamer's operations.</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#addData-java.util.Collection-">addData</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span>? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a><span class='angle_bracket'>&lt;</span><a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">K</a>,<a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">V</a><span class='angle_bracket'>&gt;</span><span class='angle_bracket'>&gt;</span>&nbsp;entries)</code>
<div class="block">Adds data for streaming on remote node.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#addData-K-V-">addData</a></span>(<a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">K</a>&nbsp;key,
       <a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">V</a>&nbsp;val)</code>
<div class="block">Adds data for streaming on remote node.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#addData-java.util.Map.Entry-">addData</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a><span class='angle_bracket'>&lt;</span><a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">K</a>,<a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">V</a><span class='angle_bracket'>&gt;</span>&nbsp;entry)</code>
<div class="block">Adds data for streaming on remote node.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#addData-java.util.Map-">addData</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">K</a>,<a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">V</a><span class='angle_bracket'>&gt;</span>&nbsp;entries)</code>
<div class="block">Adds data for streaming on remote node.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#allowOverwrite--">allowOverwrite</a></span>()</code>
<div class="block">Gets flag enabling overwriting existing values in cache.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#allowOverwrite-boolean-">allowOverwrite</a></span>(boolean&nbsp;allowOverwrite)</code>
<div class="block">Sets flag enabling overwriting existing values in cache.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#autoFlushFrequency--">autoFlushFrequency</a></span>()</code>
<div class="block">Gets automatic flush frequency.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#autoFlushFrequency-long-">autoFlushFrequency</a></span>(long&nbsp;autoFlushFreq)</code>
<div class="block">Sets automatic flush frequency.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#cacheName--">cacheName</a></span>()</code>
<div class="block">Name of cache to stream data to.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#close--">close</a></span>()</code>
<div class="block">Closes data streamer.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#close-boolean-">close</a></span>(boolean&nbsp;cancel)</code>
<div class="block">Streams any remaining data and closes this streamer.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#deployClass-java.lang.Class-">deployClass</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span>&nbsp;depCls)</code>
<div class="block">Optional deploy class for peer deployment.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#flush--">flush</a></span>()</code>
<div class="block">Streams any remaining data, but doesn't close the streamer.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#future--">future</a></span>()</code>
<div class="block">Gets future for this streaming process.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#keepBinary--">keepBinary</a></span>()</code>
<div class="block">Gets flag indicating that objects should be kept in binary format when passed to the stream receiver.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#keepBinary-boolean-">keepBinary</a></span>(boolean&nbsp;keepBinary)</code>
<div class="block">Sets flag indicating that objects should be kept in binary format when passes to the steam receiver.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#perNodeBufferSize--">perNodeBufferSize</a></span>()</code>
<div class="block">Gets size of per node key-value pairs buffer.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#perNodeBufferSize-int-">perNodeBufferSize</a></span>(int&nbsp;bufSize)</code>
<div class="block">Sets size of per node key-value pairs buffer.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#perNodeParallelOperations--">perNodeParallelOperations</a></span>()</code>
<div class="block">Gets maximum number of parallel stream operations for a single node.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#perNodeParallelOperations-int-">perNodeParallelOperations</a></span>(int&nbsp;parallelOps)</code>
<div class="block">Sets maximum number of parallel stream operations for a single node.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#perThreadBufferSize--">perThreadBufferSize</a></span>()</code>
<div class="block">Gets buffer size set by <a href="../../../org/apache/ignite/IgniteDataStreamer.html#perThreadBufferSize-int-"><code>perThreadBufferSize(int)</code></a>.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#perThreadBufferSize-int-">perThreadBufferSize</a></span>(int&nbsp;size)</code>
<div class="block">Allows to set buffer size for thread in case of stream by <a href="../../../org/apache/ignite/IgniteDataStreamer.html#addData-K-V-"><code>addData(Object, Object)</code></a> call.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#receiver-org.apache.ignite.stream.StreamReceiver-">receiver</a></span>(<a href="../../../org/apache/ignite/stream/StreamReceiver.html" title="interface in org.apache.ignite.stream">StreamReceiver</a><span class='angle_bracket'>&lt;</span><a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">K</a>,<a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">V</a><span class='angle_bracket'>&gt;</span>&nbsp;rcvr)</code>
<div class="block">Sets custom stream receiver to this data streamer.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#removeData-K-">removeData</a></span>(<a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">K</a>&nbsp;key)</code>
<div class="block">Adds key for removal on remote node.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#skipStore--">skipStore</a></span>()</code>
<div class="block">Gets flag indicating that write-through behavior should be disabled for data streaming.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#skipStore-boolean-">skipStore</a></span>(boolean&nbsp;skipStore)</code>
<div class="block">Sets flag indicating that write-through behavior should be disabled for data streaming.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#timeout--">timeout</a></span>()</code>
<div class="block">Gets timeout set by <a href="../../../org/apache/ignite/IgniteDataStreamer.html#timeout-long-"><code>timeout(long)</code></a>.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#timeout-long-">timeout</a></span>(long&nbsp;timeout)</code>
<div class="block">Sets the timeout that is used in the following cases:
 
 any data addition method can be blocked when all per node parallel operations are exhausted.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/IgniteDataStreamer.html#tryFlush--">tryFlush</a></span>()</code>
<div class="block">Makes an attempt to stream remaining data.</div>
</td>
</tr>
</table>
</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_MAX_PARALLEL_OPS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MAX_PARALLEL_OPS</h4>
<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
static final&nbsp;int DFLT_MAX_PARALLEL_OPS</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Is not used anymore.</span></div>
<div class="block">Default max concurrent put operations count.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#org.apache.ignite.IgniteDataStreamer.DFLT_MAX_PARALLEL_OPS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_PARALLEL_OPS_MULTIPLIER">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_PARALLEL_OPS_MULTIPLIER</h4>
<pre>static final&nbsp;int DFLT_PARALLEL_OPS_MULTIPLIER</pre>
<div class="block">Default multiplier for data streamer pool size to get concurrent batches count for each remote node.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../org/apache/ignite/configuration/IgniteConfiguration.html#getDataStreamerThreadPoolSize--"><code>IgniteConfiguration.getDataStreamerThreadPoolSize()</code></a>, 
<a href="../../../org/apache/ignite/IgniteDataStreamer.html#perNodeParallelOperations--"><code>perNodeParallelOperations()</code></a>, 
<a href="../../../constant-values.html#org.apache.ignite.IgniteDataStreamer.DFLT_PARALLEL_OPS_MULTIPLIER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_PER_NODE_BUFFER_SIZE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_PER_NODE_BUFFER_SIZE</h4>
<pre>static final&nbsp;int DFLT_PER_NODE_BUFFER_SIZE</pre>
<div class="block">Default operations batch size to sent to remote node for loading.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#org.apache.ignite.IgniteDataStreamer.DFLT_PER_NODE_BUFFER_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_PER_THREAD_BUFFER_SIZE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_PER_THREAD_BUFFER_SIZE</h4>
<pre>static final&nbsp;int DFLT_PER_THREAD_BUFFER_SIZE</pre>
<div class="block">Default batch size per thread to send to buffer on node.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#org.apache.ignite.IgniteDataStreamer.DFLT_PER_THREAD_BUFFER_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_UNLIMIT_TIMEOUT">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DFLT_UNLIMIT_TIMEOUT</h4>
<pre>static final&nbsp;long DFLT_UNLIMIT_TIMEOUT</pre>
<div class="block">Default timeout for streamer's operations.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#org.apache.ignite.IgniteDataStreamer.DFLT_UNLIMIT_TIMEOUT">Constant Field Values</a></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="cacheName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cacheName</h4>
<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;cacheName()</pre>
<div class="block">Name of cache to stream data to.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Cache name or <code>null</code> for default cache.</dd>
</dl>
</li>
</ul>
<a name="allowOverwrite--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allowOverwrite</h4>
<pre>boolean&nbsp;allowOverwrite()</pre>
<div class="block">Gets flag enabling overwriting existing values in cache.
 Data streamer will perform better if this flag is disabled.
 <p>
 This flag is disabled by default (default is <code>false</code>).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>True</code> if overwriting is allowed, <code>false</code> otherwise..</dd>
</dl>
</li>
</ul>
<a name="allowOverwrite-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allowOverwrite</h4>
<pre>void&nbsp;allowOverwrite(boolean&nbsp;allowOverwrite)
             throws javax.cache.CacheException</pre>
<div class="block">Sets flag enabling overwriting existing values in cache.
 Data streamer will perform better if this flag is disabled.
 Note that when this flag is <code>false</code>, updates will not be propagated to the cache store
 (i.e. <a href="../../../org/apache/ignite/IgniteDataStreamer.html#skipStore--"><code>skipStore()</code></a> flag will be set to <code>true</code> implicitly).
 <p>
 This flag is disabled by default (default is <code>false</code>).
 <p>
 The flag has no effect when custom cache receiver set using <a href="../../../org/apache/ignite/IgniteDataStreamer.html#receiver-org.apache.ignite.stream.StreamReceiver-"><code>receiver(StreamReceiver)</code></a> method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>allowOverwrite</code> - Flag value.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If failed.</dd>
</dl>
</li>
</ul>
<a name="skipStore--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>skipStore</h4>
<pre>boolean&nbsp;skipStore()</pre>
<div class="block">Gets flag indicating that write-through behavior should be disabled for data streaming.
 Default is <code>false</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Skip store flag.</dd>
</dl>
</li>
</ul>
<a name="skipStore-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>skipStore</h4>
<pre>void&nbsp;skipStore(boolean&nbsp;skipStore)</pre>
<div class="block">Sets flag indicating that write-through behavior should be disabled for data streaming.
 Default is <code>false</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>skipStore</code> - Skip store flag.</dd>
</dl>
</li>
</ul>
<a name="keepBinary--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>keepBinary</h4>
<pre>boolean&nbsp;keepBinary()</pre>
<div class="block">Gets flag indicating that objects should be kept in binary format when passed to the stream receiver.
 Default is <code>false</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Skip store flag.</dd>
</dl>
</li>
</ul>
<a name="keepBinary-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>keepBinary</h4>
<pre>void&nbsp;keepBinary(boolean&nbsp;keepBinary)</pre>
<div class="block">Sets flag indicating that objects should be kept in binary format when passes to the steam receiver.
 Default is <code>false</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keepBinary</code> - Keep binary flag.</dd>
</dl>
</li>
</ul>
<a name="perNodeBufferSize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>perNodeBufferSize</h4>
<pre>int&nbsp;perNodeBufferSize()</pre>
<div class="block">Gets size of per node key-value pairs buffer.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Per node buffer size.</dd>
</dl>
</li>
</ul>
<a name="perNodeBufferSize-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>perNodeBufferSize</h4>
<pre>void&nbsp;perNodeBufferSize(int&nbsp;bufSize)</pre>
<div class="block">Sets size of per node key-value pairs buffer.
 <p>
 This method should be called prior to <a href="../../../org/apache/ignite/IgniteDataStreamer.html#addData-K-V-"><code>addData(Object, Object)</code></a> call.
 <p>
 If not provided, default value is <a href="../../../org/apache/ignite/IgniteDataStreamer.html#DFLT_PER_NODE_BUFFER_SIZE"><code>DFLT_PER_NODE_BUFFER_SIZE</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bufSize</code> - Per node buffer size.</dd>
</dl>
</li>
</ul>
<a name="perNodeParallelOperations--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>perNodeParallelOperations</h4>
<pre>int&nbsp;perNodeParallelOperations()</pre>
<div class="block">Gets maximum number of parallel stream operations for a single node.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Maximum number of parallel stream operations for a single node.</dd>
</dl>
</li>
</ul>
<a name="perNodeParallelOperations-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>perNodeParallelOperations</h4>
<pre>void&nbsp;perNodeParallelOperations(int&nbsp;parallelOps)</pre>
<div class="block">Sets maximum number of parallel stream operations for a single node.
 <p>
 This method should be called prior to <a href="../../../org/apache/ignite/IgniteDataStreamer.html#addData-K-V-"><code>addData(Object, Object)</code></a> call.
 <p>
 If not provided, default value is calculated as follows
 <a href="../../../org/apache/ignite/IgniteDataStreamer.html#DFLT_PARALLEL_OPS_MULTIPLIER"><code>DFLT_PARALLEL_OPS_MULTIPLIER</code></a> * <code>DATA_STREAMER_POOL_SIZE_ON_REMOTE_NODE</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parallelOps</code> - Maximum number of parallel stream operations for a single node.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../org/apache/ignite/configuration/IgniteConfiguration.html#getDataStreamerThreadPoolSize--"><code>IgniteConfiguration.getDataStreamerThreadPoolSize()</code></a></dd>
</dl>
</li>
</ul>
<a name="perThreadBufferSize-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>perThreadBufferSize</h4>
<pre>void&nbsp;perThreadBufferSize(int&nbsp;size)</pre>
<div class="block">Allows to set buffer size for thread in case of stream by <a href="../../../org/apache/ignite/IgniteDataStreamer.html#addData-K-V-"><code>addData(Object, Object)</code></a> call.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>size</code> - Size of buffer.</dd>
</dl>
</li>
</ul>
<a name="perThreadBufferSize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>perThreadBufferSize</h4>
<pre>int&nbsp;perThreadBufferSize()</pre>
<div class="block">Gets buffer size set by <a href="../../../org/apache/ignite/IgniteDataStreamer.html#perThreadBufferSize-int-"><code>perThreadBufferSize(int)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Buffer size.</dd>
</dl>
</li>
</ul>
<a name="timeout-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>timeout</h4>
<pre>void&nbsp;timeout(long&nbsp;timeout)</pre>
<div class="block">Sets the timeout that is used in the following cases:
 <ul>
 <li>any data addition method can be blocked when all per node parallel operations are exhausted.
 The timeout defines the max time you will be blocked waiting for a permit to add a chunk of data
 into the streamer;</li>
 <li>Total timeout time for <a href="../../../org/apache/ignite/IgniteDataStreamer.html#flush--"><code>flush()</code></a> operation;</li>
 <li>Total timeout time for <a href="../../../org/apache/ignite/IgniteDataStreamer.html#close--"><code>close()</code></a> operation.</li>
 </ul>
 By default the timeout is disabled.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timeout</code> - Timeout in milliseconds.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If timeout is zero or less than <code>-1</code>.</dd>
</dl>
</li>
</ul>
<a name="timeout--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>timeout</h4>
<pre>long&nbsp;timeout()</pre>
<div class="block">Gets timeout set by <a href="../../../org/apache/ignite/IgniteDataStreamer.html#timeout-long-"><code>timeout(long)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Timeout in milliseconds.</dd>
</dl>
</li>
</ul>
<a name="autoFlushFrequency--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>autoFlushFrequency</h4>
<pre>long&nbsp;autoFlushFrequency()</pre>
<div class="block">Gets automatic flush frequency. Essentially, this is the time after which the
 streamer will make an attempt to submit all data added so far to remote nodes.
 Note that there is no guarantee that data will be delivered after this concrete
 attempt (e.g., it can fail when topology is changing), but it won't be lost anyway.
 <p>
 If set to <code>0</code>, automatic flush is disabled.
 <p>
 Automatic flush is disabled by default (default value is <code>0</code>).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Flush frequency or <code>0</code> if automatic flush is disabled.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../org/apache/ignite/IgniteDataStreamer.html#flush--"><code>flush()</code></a></dd>
</dl>
</li>
</ul>
<a name="autoFlushFrequency-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>autoFlushFrequency</h4>
<pre>void&nbsp;autoFlushFrequency(long&nbsp;autoFlushFreq)</pre>
<div class="block">Sets automatic flush frequency. Essentially, this is the time after which the
 streamer will make an attempt to submit all data added so far to remote nodes.
 Note that there is no guarantee that data will be delivered after this concrete
 attempt (e.g., it can fail when topology is changing), but it won't be lost anyway.
 <p>
 If set to <code>0</code>, automatic flush is disabled.
 <p>
 Automatic flush is disabled by default (default value is <code>0</code>).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>autoFlushFreq</code> - Flush frequency or <code>0</code> to disable automatic flush.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../org/apache/ignite/IgniteDataStreamer.html#flush--"><code>flush()</code></a></dd>
</dl>
</li>
</ul>
<a name="future--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>future</h4>
<pre><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span>&nbsp;future()</pre>
<div class="block">Gets future for this streaming process. This future completes whenever method
 <a href="../../../org/apache/ignite/IgniteDataStreamer.html#close-boolean-"><code>close(boolean)</code></a> completes. By attaching listeners to this future
 it is possible to get asynchronous notifications for completion of this
 streaming process.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Future for this streaming process.</dd>
</dl>
</li>
</ul>
<a name="deployClass-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deployClass</h4>
<pre>void&nbsp;deployClass(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span>&nbsp;depCls)</pre>
<div class="block">Optional deploy class for peer deployment. All classes added by a data streamer
 must be class-loadable from the same class-loader. Ignite will make the best
 effort to detect the most suitable class-loader for data loading. However,
 in complex cases, where compound or deeply nested class-loaders are used,
 it is best to specify a deploy class which can be any class loaded by
 the class-loader for given data.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>depCls</code> - Any class loaded by the class-loader for given data.</dd>
</dl>
</li>
</ul>
<a name="receiver-org.apache.ignite.stream.StreamReceiver-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>receiver</h4>
<pre>void&nbsp;receiver(<a href="../../../org/apache/ignite/stream/StreamReceiver.html" title="interface in org.apache.ignite.stream">StreamReceiver</a><span class='angle_bracket'>&lt;</span><a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">K</a>,<a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">V</a><span class='angle_bracket'>&gt;</span>&nbsp;rcvr)</pre>
<div class="block">Sets custom stream receiver to this data streamer.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rcvr</code> - Stream receiver.</dd>
</dl>
</li>
</ul>
<a name="removeData-java.lang.Object-">
<!--   -->
</a><a name="removeData-K-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeData</h4>
<pre><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span>&nbsp;removeData(<a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">K</a>&nbsp;key)
                    throws javax.cache.CacheException,
                           <a href="../../../org/apache/ignite/IgniteInterruptedException.html" title="class in org.apache.ignite">IgniteInterruptedException</a>,
                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></pre>
<div class="block">Adds key for removal on remote node. Equivalent to <a href="../../../org/apache/ignite/IgniteDataStreamer.html#addData-K-V-"><code>addData(key, null)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - Key.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Future for this operation.
      Note: It may never complete unless <a href="../../../org/apache/ignite/IgniteDataStreamer.html#flush--"><code>flush()</code></a> or <a href="../../../org/apache/ignite/IgniteDataStreamer.html#close--"><code>close()</code></a> are explicitly called.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If failed to map key to node.</dd>
<dd><code><a href="../../../org/apache/ignite/IgniteInterruptedException.html" title="class in org.apache.ignite">IgniteInterruptedException</a></code> - If thread has been interrupted.</dd>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - If grid has been concurrently stopped or
      <a href="../../../org/apache/ignite/IgniteDataStreamer.html#close-boolean-"><code>close(boolean)</code></a> has already been called on streamer.</dd>
</dl>
</li>
</ul>
<a name="addData-java.lang.Object-java.lang.Object-">
<!--   -->
</a><a name="addData-K-V-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addData</h4>
<pre><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span>&nbsp;addData(<a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">K</a>&nbsp;key,
                        @Nullable
                        <a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">V</a>&nbsp;val)
                 throws javax.cache.CacheException,
                        <a href="../../../org/apache/ignite/IgniteInterruptedException.html" title="class in org.apache.ignite">IgniteInterruptedException</a>,
                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a>,
                        <a href="../../../org/apache/ignite/IgniteDataStreamerTimeoutException.html" title="class in org.apache.ignite">IgniteDataStreamerTimeoutException</a></pre>
<div class="block">Adds data for streaming on remote node. This method can be called from multiple
 threads in parallel to speed up streaming if needed.
 <p>
 Note that streamer will stream data concurrently by multiple internal threads, so the
 data may get to remote nodes in different order from which it was added to
 the streamer. The data may not be sent until <a href="../../../org/apache/ignite/IgniteDataStreamer.html#flush--"><code>flush()</code></a> or <a href="../../../org/apache/ignite/IgniteDataStreamer.html#close--"><code>close()</code></a> are called.
 <p>
 Note: if <a href="../../../org/apache/ignite/IgniteDataStreamer.html#allowOverwrite--"><code>allowOverwrite()</code></a> set to <code>false</code> (by default)
 then data streamer will not overwrite existing cache entries for better performance
 (to change, set <a href="../../../org/apache/ignite/IgniteDataStreamer.html#allowOverwrite-boolean-"><code>allowOverwrite(boolean)</code></a> to <code>true</code>)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - Key.</dd>
<dd><code>val</code> - Value or <code>null</code> if respective entry must be removed from cache.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Future for this operation.
      Note: It may never complete unless <a href="../../../org/apache/ignite/IgniteDataStreamer.html#flush--"><code>flush()</code></a> or <a href="../../../org/apache/ignite/IgniteDataStreamer.html#close--"><code>close()</code></a> are explicitly called.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If failed to map key to node.</dd>
<dd><code><a href="../../../org/apache/ignite/IgniteInterruptedException.html" title="class in org.apache.ignite">IgniteInterruptedException</a></code> - If thread has been interrupted.</dd>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - If grid has been concurrently stopped or
      <a href="../../../org/apache/ignite/IgniteDataStreamer.html#close-boolean-"><code>close(boolean)</code></a> has already been called on streamer.</dd>
<dd><code><a href="../../../org/apache/ignite/IgniteDataStreamerTimeoutException.html" title="class in org.apache.ignite">IgniteDataStreamerTimeoutException</a></code> - If <code>timeout</code> is exceeded.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../org/apache/ignite/IgniteDataStreamer.html#allowOverwrite--"><code>allowOverwrite()</code></a></dd>
</dl>
</li>
</ul>
<a name="addData-java.util.Map.Entry-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addData</h4>
<pre><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span>&nbsp;addData(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a><span class='angle_bracket'>&lt;</span><a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">K</a>,<a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">V</a><span class='angle_bracket'>&gt;</span>&nbsp;entry)
                 throws javax.cache.CacheException,
                        <a href="../../../org/apache/ignite/IgniteInterruptedException.html" title="class in org.apache.ignite">IgniteInterruptedException</a>,
                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a>,
                        <a href="../../../org/apache/ignite/IgniteDataStreamerTimeoutException.html" title="class in org.apache.ignite">IgniteDataStreamerTimeoutException</a></pre>
<div class="block">Adds data for streaming on remote node. This method can be called from multiple
 threads in parallel to speed up streaming if needed.
 <p>
 Note that streamer will stream data concurrently by multiple internal threads, so the
 data may get to remote nodes in different order from which it was added to
 the streamer. The data may not be sent until <a href="../../../org/apache/ignite/IgniteDataStreamer.html#flush--"><code>flush()</code></a> or <a href="../../../org/apache/ignite/IgniteDataStreamer.html#close--"><code>close()</code></a> are called.
 <p>
 Note: if <a href="../../../org/apache/ignite/IgniteDataStreamer.html#allowOverwrite--"><code>allowOverwrite()</code></a> set to <code>false</code> (by default)
 then data streamer will not overwrite existing cache entries for better performance
 (to change, set <a href="../../../org/apache/ignite/IgniteDataStreamer.html#allowOverwrite-boolean-"><code>allowOverwrite(boolean)</code></a> to <code>true</code>)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>entry</code> - Entry.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Future for this operation.
      Note: It may never complete unless <a href="../../../org/apache/ignite/IgniteDataStreamer.html#flush--"><code>flush()</code></a> or <a href="../../../org/apache/ignite/IgniteDataStreamer.html#close--"><code>close()</code></a> are explicitly called.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If failed to map key to node.</dd>
<dd><code><a href="../../../org/apache/ignite/IgniteInterruptedException.html" title="class in org.apache.ignite">IgniteInterruptedException</a></code> - If thread has been interrupted.</dd>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - If grid has been concurrently stopped or
      <a href="../../../org/apache/ignite/IgniteDataStreamer.html#close-boolean-"><code>close(boolean)</code></a> has already been called on streamer.</dd>
<dd><code><a href="../../../org/apache/ignite/IgniteDataStreamerTimeoutException.html" title="class in org.apache.ignite">IgniteDataStreamerTimeoutException</a></code> - If <code>timeout</code> is exceeded.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../org/apache/ignite/IgniteDataStreamer.html#allowOverwrite--"><code>allowOverwrite()</code></a></dd>
</dl>
</li>
</ul>
<a name="addData-java.util.Collection-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addData</h4>
<pre><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span>&nbsp;addData(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span>? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a><span class='angle_bracket'>&lt;</span><a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">K</a>,<a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">V</a><span class='angle_bracket'>&gt;</span><span class='angle_bracket'>&gt;</span>&nbsp;entries)
                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a>,
                        <a href="../../../org/apache/ignite/IgniteDataStreamerTimeoutException.html" title="class in org.apache.ignite">IgniteDataStreamerTimeoutException</a></pre>
<div class="block">Adds data for streaming on remote node. This method can be called from multiple
 threads in parallel to speed up streaming if needed.
 <p>
 Note that streamer will stream data concurrently by multiple internal threads, so the
 data may get to remote nodes in different order from which it was added to
 the streamer. The data may not be sent until <a href="../../../org/apache/ignite/IgniteDataStreamer.html#flush--"><code>flush()</code></a> or <a href="../../../org/apache/ignite/IgniteDataStreamer.html#close--"><code>close()</code></a> are called.
 <p>
 Note: if <a href="../../../org/apache/ignite/IgniteDataStreamer.html#allowOverwrite--"><code>allowOverwrite()</code></a> set to <code>false</code> (by default)
 then data streamer will not overwrite existing cache entries for better performance
 (to change, set <a href="../../../org/apache/ignite/IgniteDataStreamer.html#allowOverwrite-boolean-"><code>allowOverwrite(boolean)</code></a> to <code>true</code>)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>entries</code> - Collection of entries to be streamed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Future for this stream operation.
      Note: It may never complete unless <a href="../../../org/apache/ignite/IgniteDataStreamer.html#flush--"><code>flush()</code></a> or <a href="../../../org/apache/ignite/IgniteDataStreamer.html#close--"><code>close()</code></a> are explicitly called.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - If grid has been concurrently stopped or
      <a href="../../../org/apache/ignite/IgniteDataStreamer.html#close-boolean-"><code>close(boolean)</code></a> has already been called on streamer.</dd>
<dd><code><a href="../../../org/apache/ignite/IgniteDataStreamerTimeoutException.html" title="class in org.apache.ignite">IgniteDataStreamerTimeoutException</a></code> - If <code>timeout</code> is exceeded.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../org/apache/ignite/IgniteDataStreamer.html#allowOverwrite--"><code>allowOverwrite()</code></a></dd>
</dl>
</li>
</ul>
<a name="addData-java.util.Map-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addData</h4>
<pre><a href="../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span>&nbsp;addData(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">K</a>,<a href="../../../org/apache/ignite/IgniteDataStreamer.html" title="type parameter in IgniteDataStreamer">V</a><span class='angle_bracket'>&gt;</span>&nbsp;entries)
                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a>,
                        <a href="../../../org/apache/ignite/IgniteDataStreamerTimeoutException.html" title="class in org.apache.ignite">IgniteDataStreamerTimeoutException</a></pre>
<div class="block">Adds data for streaming on remote node. This method can be called from multiple
 threads in parallel to speed up streaming if needed.
 <p>
 Note that streamer will stream data concurrently by multiple internal threads, so the
 data may get to remote nodes in different order from which it was added to
 the streamer. The data may not be sent until <a href="../../../org/apache/ignite/IgniteDataStreamer.html#flush--"><code>flush()</code></a> or <a href="../../../org/apache/ignite/IgniteDataStreamer.html#close--"><code>close()</code></a> are called.
 <p>
 Note: if <a href="../../../org/apache/ignite/IgniteDataStreamer.html#allowOverwrite--"><code>allowOverwrite()</code></a> set to <code>false</code> (by default)
 then data streamer will not overwrite existing cache entries for better performance
 (to change, set <a href="../../../org/apache/ignite/IgniteDataStreamer.html#allowOverwrite-boolean-"><code>allowOverwrite(boolean)</code></a> to <code>true</code>)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>entries</code> - Map to be streamed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Future for this stream operation.
      Note: It may never complete unless <a href="../../../org/apache/ignite/IgniteDataStreamer.html#flush--"><code>flush()</code></a> or <a href="../../../org/apache/ignite/IgniteDataStreamer.html#close--"><code>close()</code></a> are explicitly called.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - If grid has been concurrently stopped or
      <a href="../../../org/apache/ignite/IgniteDataStreamer.html#close-boolean-"><code>close(boolean)</code></a> has already been called on streamer.</dd>
<dd><code><a href="../../../org/apache/ignite/IgniteDataStreamerTimeoutException.html" title="class in org.apache.ignite">IgniteDataStreamerTimeoutException</a></code> - If <code>timeout</code> is exceeded.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../org/apache/ignite/IgniteDataStreamer.html#allowOverwrite--"><code>allowOverwrite()</code></a></dd>
</dl>
</li>
</ul>
<a name="flush--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>flush</h4>
<pre>void&nbsp;flush()
    throws javax.cache.CacheException,
           <a href="../../../org/apache/ignite/IgniteInterruptedException.html" title="class in org.apache.ignite">IgniteInterruptedException</a>,
           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a>,
           <a href="../../../org/apache/ignite/IgniteDataStreamerTimeoutException.html" title="class in org.apache.ignite">IgniteDataStreamerTimeoutException</a></pre>
<div class="block">Streams any remaining data, but doesn't close the streamer. Data can be still added after
 flush is finished. This method blocks and doesn't allow to add any data until all data
 is streamed.
 <p>
 If another thread is already performing flush, this method will block, wait for
 another thread to complete flush and exit. If you don't want to wait in this case,
 use <a href="../../../org/apache/ignite/IgniteDataStreamer.html#tryFlush--"><code>tryFlush()</code></a> method.
 <p>
 Note that #flush() guarantees completion of all futures returned by <a href="../../../org/apache/ignite/IgniteDataStreamer.html#addData-K-V-"><code>addData(Object, Object)</code></a>, listeners
 should be tracked separately.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If failed to load data from buffer.</dd>
<dd><code><a href="../../../org/apache/ignite/IgniteInterruptedException.html" title="class in org.apache.ignite">IgniteInterruptedException</a></code> - If thread has been interrupted.</dd>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - If grid has been concurrently stopped or
      <a href="../../../org/apache/ignite/IgniteDataStreamer.html#close-boolean-"><code>close(boolean)</code></a> has already been called on streamer.</dd>
<dd><code><a href="../../../org/apache/ignite/IgniteDataStreamerTimeoutException.html" title="class in org.apache.ignite">IgniteDataStreamerTimeoutException</a></code> - If <code>timeout</code> is exceeded.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../org/apache/ignite/IgniteDataStreamer.html#tryFlush--"><code>tryFlush()</code></a></dd>
</dl>
</li>
</ul>
<a name="tryFlush--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tryFlush</h4>
<pre>void&nbsp;tryFlush()
       throws javax.cache.CacheException,
              <a href="../../../org/apache/ignite/IgniteInterruptedException.html" title="class in org.apache.ignite">IgniteInterruptedException</a>,
              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></pre>
<div class="block">Makes an attempt to stream remaining data. This method is mostly similar to <a href="../../../org/apache/ignite/IgniteDataStreamer.html#flush--"><code>flush()</code></a>,
 with the difference that it won't wait and will exit immediately.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If failed to load data from buffer.</dd>
<dd><code><a href="../../../org/apache/ignite/IgniteInterruptedException.html" title="class in org.apache.ignite">IgniteInterruptedException</a></code> - If thread has been interrupted.</dd>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - If grid has been concurrently stopped or
      <a href="../../../org/apache/ignite/IgniteDataStreamer.html#close-boolean-"><code>close(boolean)</code></a> has already been called on streamer.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../org/apache/ignite/IgniteDataStreamer.html#flush--"><code>flush()</code></a></dd>
</dl>
</li>
</ul>
<a name="close-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>void&nbsp;close(boolean&nbsp;cancel)
    throws javax.cache.CacheException,
           <a href="../../../org/apache/ignite/IgniteInterruptedException.html" title="class in org.apache.ignite">IgniteInterruptedException</a>,
           <a href="../../../org/apache/ignite/IgniteDataStreamerTimeoutException.html" title="class in org.apache.ignite">IgniteDataStreamerTimeoutException</a></pre>
<div class="block">Streams any remaining data and closes this streamer.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cancel</code> - <code>True</code> to cancel ongoing streaming operations.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If failed to close data streamer.</dd>
<dd><code><a href="../../../org/apache/ignite/IgniteInterruptedException.html" title="class in org.apache.ignite">IgniteInterruptedException</a></code> - If thread has been interrupted.</dd>
<dd><code><a href="../../../org/apache/ignite/IgniteDataStreamerTimeoutException.html" title="class in org.apache.ignite">IgniteDataStreamerTimeoutException</a></code> - If <code>timeout</code> is exceeded, only if cancel is <code>false</code>.</dd>
</dl>
</li>
</ul>
<a name="close--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>close</h4>
<pre>void&nbsp;close()
    throws javax.cache.CacheException,
           <a href="../../../org/apache/ignite/IgniteInterruptedException.html" title="class in org.apache.ignite">IgniteInterruptedException</a>,
           <a href="../../../org/apache/ignite/IgniteDataStreamerTimeoutException.html" title="class in org.apache.ignite">IgniteDataStreamerTimeoutException</a></pre>
<div class="block">Closes data streamer. This method is identical to calling <a href="../../../org/apache/ignite/IgniteDataStreamer.html#close-boolean-"><code>close(false)</code></a> method.
 <p>
 The method is invoked automatically on objects managed by the
 <code>try-with-resources</code> statement.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.cache.CacheException</code> - If failed to close data streamer.</dd>
<dd><code><a href="../../../org/apache/ignite/IgniteInterruptedException.html" title="class in org.apache.ignite">IgniteInterruptedException</a></code> - If thread has been interrupted.</dd>
<dd><code><a href="../../../org/apache/ignite/IgniteDataStreamerTimeoutException.html" title="class in org.apache.ignite">IgniteDataStreamerTimeoutException</a></code> - If <code>timeout</code> is exceeded.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/IgniteDataStreamer.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">Ignite - In-Memory Database and Caching Platform</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../org/apache/ignite/IgniteCountDownLatch.html" title="interface in org.apache.ignite"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/ignite/IgniteDataStreamerTimeoutException.html" title="class in org.apache.ignite"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/ignite/IgniteDataStreamer.html" target="_top">Frames</a></li>
<li><a href="IgniteDataStreamer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px">                                     <tr>                                         <td>                                             <table style="padding-left: 0; margin: 0">                                                 <tbody style="padding: 0; margin: 0">                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <a target=_blank href="https://ignite.apache.org"><nobr>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>
