<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
<title>MqttConfig (Edgent v1.1.0)</title>
<meta name="date" content="2017-02-26">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="MqttConfig (Edgent v1.1.0)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":9,"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,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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/MqttConfig.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>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/edgent/connectors/mqtt/MqttConfig.html" target="_top">Frames</a></li>
<li><a href="MqttConfig.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>Field&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.edgent.connectors.mqtt</div>
<h2 title="Class MqttConfig" class="title">Class MqttConfig</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.edgent.connectors.mqtt.MqttConfig</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">MqttConfig</span>
extends java.lang.Object</pre>
<div class="block">MQTT broker connector configuration.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== 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/edgent/connectors/mqtt/MqttConfig.html#MqttConfig--">MqttConfig</a></span>()</code>
<div class="block">Create a new configuration.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#MqttConfig-java.lang.String-java.lang.String-">MqttConfig</a></span>(java.lang.String&nbsp;serverURL,
          java.lang.String&nbsp;clientId)</code>
<div class="block">Create a new configuration.</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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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>static <a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#fromProperties-java.util.Properties-">fromProperties</a></span>(java.util.Properties&nbsp;properties)</code>
<div class="block">Create a new configuration from <code>Properties</code>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getActionTimeToWaitMillis--">getActionTimeToWaitMillis</a></span>()</code>
<div class="block">Get the maximum time to wait for an action (e.g., publish message) to complete.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getClientId--">getClientId</a></span>()</code>
<div class="block">Get the connection Client Id.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getConnectionTimeout--">getConnectionTimeout</a></span>()</code>
<div class="block">Get the connection timeout.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getIdleTimeout--">getIdleTimeout</a></span>()</code>
<div class="block">Get the idle connection timeout.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getKeepAliveInterval--">getKeepAliveInterval</a></span>()</code>
<div class="block">Get the connection Keep alive interval.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getKeyStore--">getKeyStore</a></span>()</code>
<div class="block">Get the SSL trust store path.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>char[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getKeyStorePassword--">getKeyStorePassword</a></span>()</code>
<div class="block">Get the SSL key store path password.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>char[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getPassword--">getPassword</a></span>()</code>
<div class="block">Get the the password to use for authentication with the server.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>org.eclipse.paho.client.mqttv3.MqttClientPersistence</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getPersistence--">getPersistence</a></span>()</code>
<div class="block">Get the QoS 1 and 2 in-flight message persistence handler.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>java.lang.String[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getServerURLs--">getServerURLs</a></span>()</code>
<div class="block">Get the MQTT Server URLs</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getSubscriberIdleReconnectInterval--">getSubscriberIdleReconnectInterval</a></span>()</code>
<div class="block">Get the subscriber idle reconnect interval.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getTrustStore--">getTrustStore</a></span>()</code>
<div class="block">Get the SSL trust store path.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>char[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getTrustStorePassword--">getTrustStorePassword</a></span>()</code>
<div class="block">Get the SSL trust store path password.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getUserName--">getUserName</a></span>()</code>
<div class="block">Get the username to use for authentication with the server.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getWillDestination--">getWillDestination</a></span>()</code>
<div class="block">Get a Last Will and Testament message's destination topic.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getWillPayload--">getWillPayload</a></span>()</code>
<div class="block">Get a Last Will and Testament message's payload.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getWillQOS--">getWillQOS</a></span>()</code>
<div class="block">Get a Last Will and Testament message's QOS.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getWillRetained--">getWillRetained</a></span>()</code>
<div class="block">Get a Last Will and Testament message's "retained" setting.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#isCleanSession--">isCleanSession</a></span>()</code>
<div class="block">Get the clean session setting.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#options--">options</a></span>()</code>
<div class="block">INTERNAL USE ONLY.</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/edgent/connectors/mqtt/MqttConfig.html#setActionTimeToWaitMillis-long-">setActionTimeToWaitMillis</a></span>(long&nbsp;actionTimeToWaitMillis)</code>
<div class="block">Maximum time to wait for an action (e.g., publish message) to complete.</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/edgent/connectors/mqtt/MqttConfig.html#setCleanSession-boolean-">setCleanSession</a></span>(boolean&nbsp;cleanSession)</code>
<div class="block">Clean Session.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setClientId-java.lang.String-">setClientId</a></span>(java.lang.String&nbsp;clientId)</code>
<div class="block">Connection Client Id.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setConnectionTimeout-int-">setConnectionTimeout</a></span>(int&nbsp;connectionTimeoutSec)</code>
<div class="block">Connection timeout.</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/edgent/connectors/mqtt/MqttConfig.html#setIdleTimeout-int-">setIdleTimeout</a></span>(int&nbsp;idleTimeoutSec)</code>
<div class="block">Idle connection timeout.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setKeepAliveInterval-int-">setKeepAliveInterval</a></span>(int&nbsp;keepAliveSec)</code>
<div class="block">Connection Keep alive.</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/edgent/connectors/mqtt/MqttConfig.html#setKeyStore-java.lang.String-">setKeyStore</a></span>(java.lang.String&nbsp;path)</code>
<div class="block">Set the SSL key store path.</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/edgent/connectors/mqtt/MqttConfig.html#setKeyStorePassword-char:A-">setKeyStorePassword</a></span>(char[]&nbsp;password)</code>
<div class="block">Set the SSL key store password.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setPassword-char:A-">setPassword</a></span>(char[]&nbsp;password)</code>
<div class="block">Set the password to use for authentication with the server.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setPersistence-org.eclipse.paho.client.mqttv3.MqttClientPersistence-">setPersistence</a></span>(org.eclipse.paho.client.mqttv3.MqttClientPersistence&nbsp;persistence)</code>
<div class="block">QoS 1 and 2 in-flight message persistence.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setServerURLs-java.lang.String:A-">setServerURLs</a></span>(java.lang.String[]&nbsp;serverUrls)</code>
<div class="block">MQTT Server URLs</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setSubscriberIdleReconnectInterval-int-">setSubscriberIdleReconnectInterval</a></span>(int&nbsp;seconds)</code>
<div class="block">Subscriber idle reconnect interval.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setTrustStore-java.lang.String-">setTrustStore</a></span>(java.lang.String&nbsp;path)</code>
<div class="block">Set the SSL trust store path.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setTrustStorePassword-char:A-">setTrustStorePassword</a></span>(char[]&nbsp;password)</code>
<div class="block">Set the SSL trust store password.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setUserName-java.lang.String-">setUserName</a></span>(java.lang.String&nbsp;userName)</code>
<div class="block">Set the username to use for authentication with the server.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setWill-java.lang.String-byte:A-int-boolean-">setWill</a></span>(java.lang.String&nbsp;topic,
       byte[]&nbsp;payload,
       int&nbsp;qos,
       boolean&nbsp;retained)</code>
<div class="block">Last Will and Testament.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</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="MqttConfig--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MqttConfig</h4>
<pre>public&nbsp;MqttConfig()</pre>
<div class="block">Create a new configuration.</div>
</li>
</ul>
<a name="MqttConfig-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MqttConfig</h4>
<pre>public&nbsp;MqttConfig(java.lang.String&nbsp;serverURL,
                  java.lang.String&nbsp;clientId)</pre>
<div class="block">Create a new configuration.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serverURL</code> - the MQTT broker's URL</dd>
<dd><code>clientId</code> - the MQTT client's id.  Auto-generated if null.</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="fromProperties-java.util.Properties-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fromProperties</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a>&nbsp;fromProperties(java.util.Properties&nbsp;properties)</pre>
<div class="block">Create a new configuration from <code>Properties</code>.
 <p>
 There is a property corresponding to each <code>MqttConfig.set&lt;name&gt;()</code>
 method.  Unless otherwise stated, the property's value is a string
 of the corresponding method's argument type.
 Properties not specified yield a configuration value as
 described by and their corresponding <code>set&lt;name&gt;()</code>.
 <p>
 Properties other than those noted are ignored.
 
 <h3>MQTT connector properties</h3>
 <ul>
 <li>mqtt.actionTimeToWaitMillis</li>
 <li>mqtt.cleanSession</li>
 <li>mqtt.clientId</li>
 <li>mqtt.connectionTimeoutSec</li>
 <li>mqtt.idleTimeoutSec</li>
 <li>mqtt.keepAliveSec</li>
 <li>mqtt.keyStore - optional. Only used with "ssl:" serverURL when the
     server is configured for client auth.
     Path to key store file in JKS format.
     The first key in the store is used.  The key must have the same
     password as the store if any.
     If not set, the standard JRE and javax.net.ssl system properties
     control the SSL behavior.</li>
 <li>mqtt.keyStorePassword - required if mqtt.keyStore is set.</li>
 <li>mqtt.password</li>
 <li>mqtt.persistence</li>
 <li>mqtt.serverURLs - csv list of MQTT URLs of the form: 
                          <code>tcp://&lt;host&gt;:&lt;port&gt;</code> or
                          <code>ssl://&lt;host&gt;:&lt;port&gt;</code>
    </li>
 <li>mqtt.subscriberIdleReconnectIntervalSec</li>
 <li>mqtt.trustStore - optional. Only used with "ssl:" serverURL.
     Path to trust store file in JKS format.
     If not set, the standard JRE and javax.net.ssl system properties
     control the SSL behavior.
     Generally not required if server has a CA-signed certificate.</li>
 <li>mqtt.trustStorePassword - required if mqtt.trustStore is set</li>
 <li>mqtt.userName</li>
 <li>mqtt.will - JSON for with the following properties:
     <ul>
     <li>topic - string</li>
     <li>payload - string for byte[] in UTF8</li>
     <li>qos - integer</li>
     <li>retained - boolean</li>
     </ul>
     </li>
 </ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>properties</code> - properties specifying the configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the configuration</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - for illegal values</dd>
</dl>
</li>
</ul>
<a name="getClientId--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClientId</h4>
<pre>public&nbsp;java.lang.String&nbsp;getClientId()</pre>
<div class="block">Get the connection Client Id.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value</dd>
</dl>
</li>
</ul>
<a name="getActionTimeToWaitMillis--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getActionTimeToWaitMillis</h4>
<pre>public&nbsp;long&nbsp;getActionTimeToWaitMillis()</pre>
<div class="block">Get the maximum time to wait for an action (e.g., publish message) to complete.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value</dd>
</dl>
</li>
</ul>
<a name="getPersistence--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPersistence</h4>
<pre>public&nbsp;org.eclipse.paho.client.mqttv3.MqttClientPersistence&nbsp;getPersistence()</pre>
<div class="block">Get the QoS 1 and 2 in-flight message persistence handler.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value</dd>
</dl>
</li>
</ul>
<a name="getConnectionTimeout--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConnectionTimeout</h4>
<pre>public&nbsp;int&nbsp;getConnectionTimeout()</pre>
<div class="block">Get the connection timeout.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value</dd>
</dl>
</li>
</ul>
<a name="getIdleTimeout--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIdleTimeout</h4>
<pre>public&nbsp;int&nbsp;getIdleTimeout()</pre>
<div class="block">Get the idle connection timeout.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value</dd>
</dl>
</li>
</ul>
<a name="getSubscriberIdleReconnectInterval--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSubscriberIdleReconnectInterval</h4>
<pre>public&nbsp;int&nbsp;getSubscriberIdleReconnectInterval()</pre>
<div class="block">Get the subscriber idle reconnect interval.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value</dd>
</dl>
</li>
</ul>
<a name="getKeepAliveInterval--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKeepAliveInterval</h4>
<pre>public&nbsp;int&nbsp;getKeepAliveInterval()</pre>
<div class="block">Get the connection Keep alive interval.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value</dd>
</dl>
</li>
</ul>
<a name="getServerURLs--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServerURLs</h4>
<pre>public&nbsp;java.lang.String[]&nbsp;getServerURLs()</pre>
<div class="block">Get the MQTT Server URLs</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value</dd>
</dl>
</li>
</ul>
<a name="getWillDestination--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWillDestination</h4>
<pre>public&nbsp;java.lang.String&nbsp;getWillDestination()</pre>
<div class="block">Get a Last Will and Testament message's destination topic.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value.  may be null.</dd>
</dl>
</li>
</ul>
<a name="getWillPayload--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWillPayload</h4>
<pre>public&nbsp;byte[]&nbsp;getWillPayload()</pre>
<div class="block">Get a Last Will and Testament message's payload.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value. may be null.</dd>
</dl>
</li>
</ul>
<a name="getWillQOS--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWillQOS</h4>
<pre>public&nbsp;int&nbsp;getWillQOS()</pre>
<div class="block">Get a Last Will and Testament message's QOS.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value.</dd>
</dl>
</li>
</ul>
<a name="getWillRetained--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWillRetained</h4>
<pre>public&nbsp;boolean&nbsp;getWillRetained()</pre>
<div class="block">Get a Last Will and Testament message's "retained" setting.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value.</dd>
</dl>
</li>
</ul>
<a name="isCleanSession--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCleanSession</h4>
<pre>public&nbsp;boolean&nbsp;isCleanSession()</pre>
<div class="block">Get the clean session setting.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value</dd>
</dl>
</li>
</ul>
<a name="getPassword--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPassword</h4>
<pre>public&nbsp;char[]&nbsp;getPassword()</pre>
<div class="block">Get the the password to use for authentication with the server.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value</dd>
</dl>
</li>
</ul>
<a name="getUserName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUserName</h4>
<pre>public&nbsp;java.lang.String&nbsp;getUserName()</pre>
<div class="block">Get the username to use for authentication with the server.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value</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(java.lang.String&nbsp;clientId)</pre>
<div class="block">Connection Client Id.
 <p>
 Optional. default null: a clientId is auto-generated.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>clientId</code> - the client id</dd>
</dl>
</li>
</ul>
<a name="setActionTimeToWaitMillis-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setActionTimeToWaitMillis</h4>
<pre>public&nbsp;void&nbsp;setActionTimeToWaitMillis(long&nbsp;actionTimeToWaitMillis)</pre>
<div class="block">Maximum time to wait for an action (e.g., publish message) to complete.
 <p>
 Optional. default: -1 no timeout. 0 also means no timeout.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>actionTimeToWaitMillis</code> - the time to wait in milliseconds</dd>
</dl>
</li>
</ul>
<a name="setPersistence-org.eclipse.paho.client.mqttv3.MqttClientPersistence-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPersistence</h4>
<pre>public&nbsp;void&nbsp;setPersistence(org.eclipse.paho.client.mqttv3.MqttClientPersistence&nbsp;persistence)</pre>
<div class="block">QoS 1 and 2 in-flight message persistence.
 <p>
 optional. default: use memory persistence.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>persistence</code> - the persistence implementation</dd>
</dl>
</li>
</ul>
<a name="setCleanSession-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCleanSession</h4>
<pre>public&nbsp;void&nbsp;setCleanSession(boolean&nbsp;cleanSession)</pre>
<div class="block">Clean Session.
 <p>
 Qptional. default: true.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cleanSession</code> - the clean session value</dd>
</dl>
</li>
</ul>
<a name="setConnectionTimeout-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConnectionTimeout</h4>
<pre>public&nbsp;void&nbsp;setConnectionTimeout(int&nbsp;connectionTimeoutSec)</pre>
<div class="block">Connection timeout.
 Optional. 0 disables the timeout / blocks until connected. default: 30 seconds.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>connectionTimeoutSec</code> - the timeout in seconds</dd>
</dl>
</li>
</ul>
<a name="setIdleTimeout-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIdleTimeout</h4>
<pre>public&nbsp;void&nbsp;setIdleTimeout(int&nbsp;idleTimeoutSec)</pre>
<div class="block">Idle connection timeout.
 Optional. 0 disables idle connection disconnect. default: 0 seconds (disabled).
 <p>
 Following an idle disconnect, the connector will automatically
 reconnect when it receives a new tuple to publish.
 If the connector is subscribing to topics, it will also reconnect
 as per <a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setSubscriberIdleReconnectInterval-int-"><code>setSubscriberIdleReconnectInterval(int)</code></a>.
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>idleTimeoutSec</code> - the timeout in seconds</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setSubscriberIdleReconnectInterval-int-"><code>setSubscriberIdleReconnectInterval(int)</code></a></dd>
</dl>
</li>
</ul>
<a name="setSubscriberIdleReconnectInterval-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSubscriberIdleReconnectInterval</h4>
<pre>public&nbsp;void&nbsp;setSubscriberIdleReconnectInterval(int&nbsp;seconds)</pre>
<div class="block">Subscriber idle reconnect interval.
 <p>
 Following an idle disconnect, if the connector is subscribing to topics,
 it will reconnect after the specified interval.
 Optional. default: 60 seconds.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>seconds</code> - the interval in seconds</dd>
</dl>
</li>
</ul>
<a name="setKeepAliveInterval-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setKeepAliveInterval</h4>
<pre>public&nbsp;void&nbsp;setKeepAliveInterval(int&nbsp;keepAliveSec)</pre>
<div class="block">Connection Keep alive.
 <p>
 Optional. 0 disables keepalive processing. default: 60 seconds.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keepAliveSec</code> - the interval in seconds</dd>
</dl>
</li>
</ul>
<a name="setServerURLs-java.lang.String:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setServerURLs</h4>
<pre>public&nbsp;void&nbsp;setServerURLs(java.lang.String[]&nbsp;serverUrls)</pre>
<div class="block">MQTT Server URLs
 <p>
 Required. Must be an array of one or more MQTT server URLs.
 When connecting, the first URL that successfully connects is used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serverUrls</code> - the URLs</dd>
</dl>
</li>
</ul>
<a name="setWill-java.lang.String-byte:A-int-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWill</h4>
<pre>public&nbsp;void&nbsp;setWill(java.lang.String&nbsp;topic,
                    byte[]&nbsp;payload,
                    int&nbsp;qos,
                    boolean&nbsp;retained)</pre>
<div class="block">Last Will and Testament.
 <p>
 optional. default: no last-will-and-testament.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topic</code> - topic to publish to</dd>
<dd><code>payload</code> - the last-will-and-testament message value</dd>
<dd><code>qos</code> - the quality of service to use to publish the message</dd>
<dd><code>retained</code> - true to retain the message across connections</dd>
</dl>
</li>
</ul>
<a name="setPassword-char:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPassword</h4>
<pre>public&nbsp;void&nbsp;setPassword(char[]&nbsp;password)</pre>
<div class="block">Set the password to use for authentication with the server.
 Optional. default: null.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>password</code> - the password</dd>
</dl>
</li>
</ul>
<a name="setUserName-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUserName</h4>
<pre>public&nbsp;void&nbsp;setUserName(java.lang.String&nbsp;userName)</pre>
<div class="block">Set the username to use for authentication with the server.
 Optional. default: null.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>userName</code> - the user name</dd>
</dl>
</li>
</ul>
<a name="setTrustStore-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTrustStore</h4>
<pre>public&nbsp;void&nbsp;setTrustStore(java.lang.String&nbsp;path)</pre>
<div class="block">Set the SSL trust store path.
 <p>
 Only used with "ssl:" serverURL.
 Path to trust store file in JKS format.
 If not set, the standard JRE and javax.net.ssl system properties
 control the SSL behavior.
 Generally not required if server has a CA-signed certificate.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>path</code> - the path. null to unset.</dd>
</dl>
</li>
</ul>
<a name="getTrustStore--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTrustStore</h4>
<pre>public&nbsp;java.lang.String&nbsp;getTrustStore()</pre>
<div class="block">Get the SSL trust store path.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the path. null if not set.</dd>
</dl>
</li>
</ul>
<a name="setTrustStorePassword-char:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTrustStorePassword</h4>
<pre>public&nbsp;void&nbsp;setTrustStorePassword(char[]&nbsp;password)</pre>
<div class="block">Set the SSL trust store password.
 <p>
 Required if the trust store path is set.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>password</code> - the password</dd>
</dl>
</li>
</ul>
<a name="getTrustStorePassword--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTrustStorePassword</h4>
<pre>public&nbsp;char[]&nbsp;getTrustStorePassword()</pre>
<div class="block">Get the SSL trust store path password.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the password. null if not set.</dd>
</dl>
</li>
</ul>
<a name="setKeyStore-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setKeyStore</h4>
<pre>public&nbsp;void&nbsp;setKeyStore(java.lang.String&nbsp;path)</pre>
<div class="block">Set the SSL key store path.
 <p>
 Only used with "ssl:" serverURL when the server is configured for
 client auth.
 Path to trust store file in JKS format.
 If not set, the standard JRE and javax.net.ssl system properties
 control the SSL behavior.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>path</code> - the path. null to unset.</dd>
</dl>
</li>
</ul>
<a name="getKeyStore--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKeyStore</h4>
<pre>public&nbsp;java.lang.String&nbsp;getKeyStore()</pre>
<div class="block">Get the SSL trust store path.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the path. null if not set.</dd>
</dl>
</li>
</ul>
<a name="setKeyStorePassword-char:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setKeyStorePassword</h4>
<pre>public&nbsp;void&nbsp;setKeyStorePassword(char[]&nbsp;password)</pre>
<div class="block">Set the SSL key store password.
 <p>
 Required if the key store path is set.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>password</code> - the password. null to unset.</dd>
</dl>
</li>
</ul>
<a name="getKeyStorePassword--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKeyStorePassword</h4>
<pre>public&nbsp;char[]&nbsp;getKeyStorePassword()</pre>
<div class="block">Get the SSL key store path password.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the password. null if not set.</dd>
</dl>
</li>
</ul>
<a name="options--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>options</h4>
<pre>public&nbsp;java.lang.Object&nbsp;options()</pre>
<div class="block">INTERNAL USE ONLY.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>object</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/MqttConfig.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"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/edgent/connectors/mqtt/MqttConfig.html" target="_top">Frames</a></li>
<li><a href="MqttConfig.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>Field&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>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
</body>
</html>
