<!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/stream/jms11/JmsStreamer.html" />

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

<!-- Generated by javadoc (1.8.0_212) on Tue Jun 04 17:20:15 MSK 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JmsStreamer (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="JmsStreamer (Ignite 2.7.5)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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/JmsStreamer.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>Prev&nbsp;Class</li>
<li><a href="../../../../../org/apache/ignite/stream/jms11/MessageTransformer.html" title="interface in org.apache.ignite.stream.jms11"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/ignite/stream/jms11/JmsStreamer.html" target="_top">Frames</a></li>
<li><a href="JmsStreamer.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="#fields.inherited.from.class.org.apache.ignite.stream.StreamAdapter">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.ignite.stream.jms11</div>
<h2 title="Class JmsStreamer" class="title">Class JmsStreamer<span class='angle_bracket'>&lt;</span>T extends javax.jms.Message,K,V<span class='angle_bracket'>&gt;</span></h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/ignite/stream/StreamAdapter.html" title="class in org.apache.ignite.stream">org.apache.ignite.stream.StreamAdapter</a><span class='angle_bracket'>&lt;</span>T,K,V<span class='angle_bracket'>&gt;</span></li>
<li>
<ul class="inheritance">
<li>org.apache.ignite.stream.jms11.JmsStreamer<span class='angle_bracket'>&lt;</span>T,K,V<span class='angle_bracket'>&gt;</span></li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">JmsStreamer<span class='angle_bracket'>&lt;</span>T extends javax.jms.Message,K,V<span class='angle_bracket'>&gt;</span></span>
extends <a href="../../../../../org/apache/ignite/stream/StreamAdapter.html" title="class in org.apache.ignite.stream">StreamAdapter</a><span class='angle_bracket'>&lt;</span>T,K,V<span class='angle_bracket'>&gt;</span></pre>
<div class="block">Streamer that consumes from a JMS destination and feeds key-value pairs into an <a href="../../../../../org/apache/ignite/IgniteDataStreamer.html" title="interface in org.apache.ignite"><code>IgniteDataStreamer</code></a> instance.
 <p>
 This Streamer uses purely JMS semantics and it is not coupled with any JMS implementation. It uses <code>MessageListener</code> to receive messages. You must provide your broker's <code>ConnectionFactory</code> when
 creating a <a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html" title="class in org.apache.ignite.stream.jms11"><code>JmsStreamer</code></a>.
 <p>
 You must also provide a <a href="../../../../../org/apache/ignite/stream/jms11/MessageTransformer.html" title="interface in org.apache.ignite.stream.jms11"><code>MessageTransformer</code></a> to convert the incoming message into cache entries.
 <p>
 This Streamer has many features:

 <ul>
     <li>Consumes from queues or topics.</li>
     <li>For topics, it supports durable subscriptions.</li>
     <li>Concurrent consumers are supported via the <tt>threads</tt> parameter. When consuming from queues,
     this component will start as many <code>Session</code> objects with separate <code>MessageListener</code> instances each,
     therefore achieving <i>native</i> concurrency (in terms of the JMS standard).<br>
     When consuming from topics, obviously we cannot start multiple threads as that would lead us to consume
     duplicate messages. Therefore, we achieve concurrency in a <i>virtualized</i> manner through an internal
     thread pool.</li>
     <li>Transacted sessions are supported through the <tt>transacted</tt> parameter.</li>
     <li>Batched consumption is possible via the <tt>batched</tt> parameter. Depending on the broker, this
     technique can provide a higher throughput as it decreases the amount of message acknowledgement round trips
     that are necessary, albeit at the expense possible duplicate messages (especially if an incident
     occurs in the middle of a transaction).<br>
     Batches are committed when the <tt>batchClosureMillis</tt> time has elapsed, or when a Session has received
     at least <tt>batchClosureSize</tt> messages. Time-based closure fires with the specified frequency and applies to
     all <code>Session</code>s in parallel. Size-based closure applies individually to each <tt>Session</tt> (as transactions
     are <tt>Session-bound</tt> in JMS, so it will fire when that <code>Session</code> has processed that many messages.
     Both options are compatible with each other, or you can disable either (see setter documentation),
     but not both.</li>
     <li>Can specify the destination with implementation-specific <code>Destination</code> objects or with names.</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>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.ignite.stream.StreamAdapter">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.ignite.stream.<a href="../../../../../org/apache/ignite/stream/StreamAdapter.html" title="class in org.apache.ignite.stream">StreamAdapter</a></h3>
<code><a href="../../../../../org/apache/ignite/stream/StreamAdapter.html#ignite">ignite</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html#JmsStreamer--">JmsStreamer</a></span>()</code>&nbsp;</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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html#setBatchClosureMillis-long-">setBatchClosureMillis</a></span>(long&nbsp;batchClosureMillis)</code>
<div class="block">When using batched consumption, sets the time in milliseconds that will elapse before a batch is committed.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html#setBatchClosureSize-int-">setBatchClosureSize</a></span>(int&nbsp;batchClosureSize)</code>
<div class="block">When using batched consumption, sets the amount of messages that will be received before a batch is committed.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html#setBatched-boolean-">setBatched</a></span>(boolean&nbsp;batched)</code>
<div class="block">Batch consumption leverages JMS Transactions to minimise round trips to the broker.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html#setClientId-java.lang.String-">setClientId</a></span>(<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;clientId)</code>
<div class="block">Sets the client ID of the JMS <code>Connection</code>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html#setConnectionFactory-javax.jms.ConnectionFactory-">setConnectionFactory</a></span>(javax.jms.ConnectionFactory&nbsp;connectionFactory)</code>
<div class="block">Sets the JMS <code>ConnectionFactory</code>.</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/stream/jms11/JmsStreamer.html#setDestination-javax.jms.Destination-">setDestination</a></span>(javax.jms.Destination&nbsp;destination)</code>
<div class="block">Sets the JMS <code>Destination</code> explicitly.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html#setDestinationName-java.lang.String-">setDestinationName</a></span>(<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;destinationName)</code>
<div class="block">Sets the name of the JMS destination to consume from.</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/stream/jms11/JmsStreamer.html#setDestinationType-java.lang.Class-">setDestinationType</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>? extends javax.jms.Destination<span class='angle_bracket'>&gt;</span>&nbsp;destinationType)</code>
<div class="block">Sets the type of the destination to create, when used in combination with <a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html#setDestinationName-java.lang.String-"><code>setDestinationName(String)</code></a>.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html#setDurableSubscription-boolean-">setDurableSubscription</a></span>(boolean&nbsp;durableSubscription)</code>
<div class="block">A <tt>true</tt> value is only accepted in combination with topic consumption.</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/stream/jms11/JmsStreamer.html#setDurableSubscriptionName-java.lang.String-">setDurableSubscriptionName</a></span>(<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;durableSubscriptionName)</code>
<div class="block">When using Durable Subscribers, sets the name of the durable subscriber.</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/stream/jms11/JmsStreamer.html#setExceptionListener-javax.jms.ExceptionListener-">setExceptionListener</a></span>(javax.jms.ExceptionListener&nbsp;exceptionListener)</code>
<div class="block">Exception listener for queue/topic failures.</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/stream/jms11/JmsStreamer.html#setThreads-int-">setThreads</a></span>(int&nbsp;threads)</code>
<div class="block">Sets the number of threads to concurrently consume JMS messages.</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/stream/jms11/JmsStreamer.html#setTransacted-boolean-">setTransacted</a></span>(boolean&nbsp;transacted)</code>
<div class="block">Instructs the streamer whether to use local JMS transactions or not.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html#setTransformer-org.apache.ignite.stream.jms11.MessageTransformer-">setTransformer</a></span>(<a href="../../../../../org/apache/ignite/stream/jms11/MessageTransformer.html" title="interface in org.apache.ignite.stream.jms11">MessageTransformer</a><span class='angle_bracket'>&lt;</span><a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html" title="type parameter in JmsStreamer">T</a>,<a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html" title="type parameter in JmsStreamer">K</a>,<a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html" title="type parameter in JmsStreamer">V</a><span class='angle_bracket'>&gt;</span>&nbsp;transformer)</code>
<div class="block"><i>Compulsory.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html#start--">start</a></span>()</code>
<div class="block">Starts streamer.</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/stream/jms11/JmsStreamer.html#stop--">stop</a></span>()</code>
<div class="block">Stops streamer.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.ignite.stream.StreamAdapter">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.ignite.stream.<a href="../../../../../org/apache/ignite/stream/StreamAdapter.html" title="class in org.apache.ignite.stream">StreamAdapter</a></h3>
<code><a href="../../../../../org/apache/ignite/stream/StreamAdapter.html#addMessage-T-">addMessage</a>, <a href="../../../../../org/apache/ignite/stream/StreamAdapter.html#getIgnite--">getIgnite</a>, <a href="../../../../../org/apache/ignite/stream/StreamAdapter.html#getMultipleTupleExtractor--">getMultipleTupleExtractor</a>, <a href="../../../../../org/apache/ignite/stream/StreamAdapter.html#getSingleTupleExtractor--">getSingleTupleExtractor</a>, <a href="../../../../../org/apache/ignite/stream/StreamAdapter.html#getStreamer--">getStreamer</a>, <a href="../../../../../org/apache/ignite/stream/StreamAdapter.html#getTupleExtractor--">getTupleExtractor</a>, <a href="../../../../../org/apache/ignite/stream/StreamAdapter.html#setIgnite-org.apache.ignite.Ignite-">setIgnite</a>, <a href="../../../../../org/apache/ignite/stream/StreamAdapter.html#setMultipleTupleExtractor-org.apache.ignite.stream.StreamMultipleTupleExtractor-">setMultipleTupleExtractor</a>, <a href="../../../../../org/apache/ignite/stream/StreamAdapter.html#setSingleTupleExtractor-org.apache.ignite.stream.StreamSingleTupleExtractor-">setSingleTupleExtractor</a>, <a href="../../../../../org/apache/ignite/stream/StreamAdapter.html#setStreamer-org.apache.ignite.IgniteDataStreamer-">setStreamer</a>, <a href="../../../../../org/apache/ignite/stream/StreamAdapter.html#setTupleExtractor-org.apache.ignite.stream.StreamTupleExtractor-">setTupleExtractor</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="JmsStreamer--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>JmsStreamer</h4>
<pre>public&nbsp;JmsStreamer()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="start--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>start</h4>
<pre>public&nbsp;void&nbsp;start()
           throws <a href="../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Starts streamer.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - If failed.</dd>
</dl>
</li>
</ul>
<a name="stop--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre>public&nbsp;void&nbsp;stop()
          throws <a href="../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Stops streamer.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code></dd>
</dl>
</li>
</ul>
<a name="setConnectionFactory-javax.jms.ConnectionFactory-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConnectionFactory</h4>
<pre>public&nbsp;void&nbsp;setConnectionFactory(javax.jms.ConnectionFactory&nbsp;connectionFactory)</pre>
<div class="block">Sets the JMS <code>ConnectionFactory</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>connectionFactory</code> - JMS <code>ConnectionFactory</code> for this streamer to use.</dd>
</dl>
</li>
</ul>
<a name="setTransformer-org.apache.ignite.stream.jms11.MessageTransformer-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTransformer</h4>
<pre>public&nbsp;void&nbsp;setTransformer(<a href="../../../../../org/apache/ignite/stream/jms11/MessageTransformer.html" title="interface in org.apache.ignite.stream.jms11">MessageTransformer</a><span class='angle_bracket'>&lt;</span><a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html" title="type parameter in JmsStreamer">T</a>,<a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html" title="type parameter in JmsStreamer">K</a>,<a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html" title="type parameter in JmsStreamer">V</a><span class='angle_bracket'>&gt;</span>&nbsp;transformer)</pre>
<div class="block"><i>Compulsory.</i> The <a href="../../../../../org/apache/ignite/stream/jms11/MessageTransformer.html" title="interface in org.apache.ignite.stream.jms11"><code>MessageTransformer</code></a> that converts an incoming JMS <code>Message</code> (or subclass)
 into one or multiple cache entries.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>transformer</code> - The implementation of the MessageTransformer to use.</dd>
</dl>
</li>
</ul>
<a name="setDestination-javax.jms.Destination-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDestination</h4>
<pre>public&nbsp;void&nbsp;setDestination(javax.jms.Destination&nbsp;destination)</pre>
<div class="block">Sets the JMS <code>Destination</code> explicitly. Takes precedence over destinationName if both are set.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>destination</code> - JMS <code>Destination</code> if setting it explicitly.</dd>
</dl>
</li>
</ul>
<a name="setDestinationName-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDestinationName</h4>
<pre>public&nbsp;void&nbsp;setDestinationName(<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;destinationName)</pre>
<div class="block">Sets the name of the JMS destination to consume from.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>destinationName</code> - The name of the destination; will be passed on directly to the broker.</dd>
</dl>
</li>
</ul>
<a name="setDestinationType-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDestinationType</h4>
<pre>public&nbsp;void&nbsp;setDestinationType(<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>? extends javax.jms.Destination<span class='angle_bracket'>&gt;</span>&nbsp;destinationType)</pre>
<div class="block">Sets the type of the destination to create, when used in combination with <a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html#setDestinationName-java.lang.String-"><code>setDestinationName(String)</code></a>. It
 can be an interface or the implementation class specific to the broker.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>destinationType</code> - The class representing the destination type. Suggested values: <code>Queue</code> or <code>Topic</code>. <i>Compulsory</i> if using <a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html#destinationName"><code>destinationName</code></a>.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>Queue</code>, 
<code>Topic</code></dd>
</dl>
</li>
</ul>
<a name="setThreads-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setThreads</h4>
<pre>public&nbsp;void&nbsp;setThreads(int&nbsp;threads)</pre>
<div class="block">Sets the number of threads to concurrently consume JMS messages. <p> When working with queues, we will start as
 many <code>Session</code> objects as indicated by this field, i.e. you will get native concurrency. <p> On
 the other hand, when consuming from a topic, for obvious reason we will only start 1 message consumer but we will
 distribute the processing of received messages to as many concurrent threads as indicated.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>threads</code> - Number of threads to use. Default: <tt>1</tt>.</dd>
</dl>
</li>
</ul>
<a name="setClientId-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClientId</h4>
<pre>public&nbsp;void&nbsp;setClientId(<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;clientId)</pre>
<div class="block">Sets the client ID of the JMS <code>Connection</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>clientId</code> - Client ID in case we're using durable subscribers. Default: none.</dd>
</dl>
</li>
</ul>
<a name="setDurableSubscription-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDurableSubscription</h4>
<pre>public&nbsp;void&nbsp;setDurableSubscription(boolean&nbsp;durableSubscription)</pre>
<div class="block">A <tt>true</tt> value is only accepted in combination with topic consumption.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>durableSubscription</code> - Whether or not to use durable subscriptions. Default: <tt>false</tt>.</dd>
</dl>
</li>
</ul>
<a name="setTransacted-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTransacted</h4>
<pre>public&nbsp;void&nbsp;setTransacted(boolean&nbsp;transacted)</pre>
<div class="block">Instructs the streamer whether to use local JMS transactions or not.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>transacted</code> - Whether to consume or not in a transacted manner. Default: <tt>false</tt>.</dd>
</dl>
</li>
</ul>
<a name="setBatched-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBatched</h4>
<pre>public&nbsp;void&nbsp;setBatched(boolean&nbsp;batched)</pre>
<div class="block">Batch consumption leverages JMS Transactions to minimise round trips to the broker. <p> Rather than ACKing every
 single message received, they will be received in the context of a JMS transaction which will be committed once
 the indicated batch closure size or batch closure time has elapsed. <p> Warning: May lead to duplicate
 consumption.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>batched</code> - Whether to consume messages in batches. Value <tt>true</tt> implies <tt>transacted = true</tt>.
 Default: <tt>false</tt>.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html#setBatchClosureMillis-long-"><code>setBatchClosureMillis(long)</code></a>, 
<a href="../../../../../org/apache/ignite/stream/jms11/JmsStreamer.html#setBatchClosureSize-int-"><code>setBatchClosureSize(int)</code></a></dd>
</dl>
</li>
</ul>
<a name="setBatchClosureSize-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBatchClosureSize</h4>
<pre>public&nbsp;void&nbsp;setBatchClosureSize(int&nbsp;batchClosureSize)</pre>
<div class="block">When using batched consumption, sets the amount of messages that will be received before a batch is committed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>batchClosureSize</code> - The amount of messages processed before a batch is committed. Default: <tt>50</tt>.</dd>
</dl>
</li>
</ul>
<a name="setBatchClosureMillis-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBatchClosureMillis</h4>
<pre>public&nbsp;void&nbsp;setBatchClosureMillis(long&nbsp;batchClosureMillis)</pre>
<div class="block">When using batched consumption, sets the time in milliseconds that will elapse before a batch is committed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>batchClosureMillis</code> - Milliseconds before a batch is committed. Default: <tt>1000ms</tt>.</dd>
</dl>
</li>
</ul>
<a name="setDurableSubscriptionName-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDurableSubscriptionName</h4>
<pre>public&nbsp;void&nbsp;setDurableSubscriptionName(<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;durableSubscriptionName)</pre>
<div class="block">When using Durable Subscribers, sets the name of the durable subscriber. It is compulsory.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>durableSubscriptionName</code> - Name of the durable subscriber. Default: none.</dd>
</dl>
</li>
</ul>
<a name="setExceptionListener-javax.jms.ExceptionListener-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setExceptionListener</h4>
<pre>public&nbsp;void&nbsp;setExceptionListener(javax.jms.ExceptionListener&nbsp;exceptionListener)</pre>
<div class="block">Exception listener for queue/topic failures.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>exceptionListener</code> - ExceptionListener interface implementation.</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/JmsStreamer.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>Prev&nbsp;Class</li>
<li><a href="../../../../../org/apache/ignite/stream/jms11/MessageTransformer.html" title="interface in org.apache.ignite.stream.jms11"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/ignite/stream/jms11/JmsStreamer.html" target="_top">Frames</a></li>
<li><a href="JmsStreamer.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="#fields.inherited.from.class.org.apache.ignite.stream.StreamAdapter">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px">                                     <tr>                                         <td>                                             <table style="padding-left: 0; margin: 0">                                                 <tbody style="padding: 0; margin: 0">                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <a target=_blank href="https://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>
