blob: d97caac6e0ddeff64f2303271a62786701717b78 [file] [log] [blame]
<!DOCTYPE html>
<html lang="1.2" class="js csstransforms3d">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Hugo 0.81.0" />
<meta name="description" content="A set of micro-services for connecting millions of devices.">
<meta name="author" content="The Eclipse Hono Project">
<link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
<title>Common Configuration :: Eclipse Hono&trade; Vers.: 1.2</title>
<link href="/hono/docs/css/nucleus.css?1626138730" rel="stylesheet">
<link href="/hono/docs/css/fontawesome-all.min.css?1626138730" rel="stylesheet">
<link href="/hono/docs/css/hybrid.css?1626138730" rel="stylesheet">
<link href="/hono/docs/css/featherlight.min.css?1626138730" rel="stylesheet">
<link href="/hono/docs/css/perfect-scrollbar.min.css?1626138730" rel="stylesheet">
<link href="/hono/docs/css/auto-complete.css?1626138730" rel="stylesheet">
<link href="/hono/docs/css/atom-one-dark-reasonable.css?1626138730" rel="stylesheet">
<link href="/hono/docs/css/theme.css?1626138730" rel="stylesheet">
<link href="/hono/docs/css/hugo-theme.css?1626138730" rel="stylesheet">
<link href="/hono/docs/css/theme-hono.css?1626138730" rel="stylesheet">
<link href="/hono/docs/css/hono.css?1626138730" rel="stylesheet">
<script src="/hono/docs/js/jquery-3.3.1.min.js?1626138730"></script>
<style>
:root #header + #content > #left > #rlblock_left{
display:none !important;
}
:not(pre) > code + span.copy-to-clipboard {
display: none;
}
</style>
<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@EclipseHono">
<meta name="twitter:title" content="Common Configuration :: Eclipse Hono&amp;trade; Vers.: 1.2">
<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
<meta property="og:title" content="Common Configuration :: Eclipse Hono&amp;trade; Vers.: 1.2" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://www.eclipse.org/hono/docs/1.2/admin-guide/common-config//" />
<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
</head>
<body class="" data-url="/hono/docs/1.2/admin-guide/common-config/">
<nav id="sidebar" class="">
<div id="header-wrapper">
<div id="header">
<a href="https://www.eclipse.org/hono/">
<img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
</a>
</div>
<div class="searchbox">
<label for="search-by"><i class="fas fa-search"></i></label>
<input data-search-input id="search-by" type="search" placeholder="Search...">
<span data-search-clear=""><i class="fas fa-times"></i></span>
</div>
<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1626138730"></script>
<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1626138730"></script>
<script type="text/javascript">
var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.2";
</script>
<script type="text/javascript" src="/hono/docs/js/search.js?1626138730"></script>
</div>
<div class="highlightable">
<ul class="topics">
<li data-nav-id="/hono/docs/1.2/concepts/" title="Concepts" class="dd-item
">
<a href="/hono/docs/1.2/concepts/">
<i class="far fa-lightbulb"></i> Concepts
</a>
<ul>
<li data-nav-id="/hono/docs/1.2/concepts/device-identity/" title="Device Identity" class="dd-item ">
<a href="/hono/docs/1.2/concepts/device-identity/">
Device Identity
</a>
</li>
<li data-nav-id="/hono/docs/1.2/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
<a href="/hono/docs/1.2/concepts/tenancy/">
Multi-Tenancy
</a>
</li>
<li data-nav-id="/hono/docs/1.2/concepts/device-provisioning/" title="Device Provisioning" class="dd-item ">
<a href="/hono/docs/1.2/concepts/device-provisioning/">
Device Provisioning
</a>
</li>
<li data-nav-id="/hono/docs/1.2/concepts/connecting-devices/" title="Connecting Devices" class="dd-item ">
<a href="/hono/docs/1.2/concepts/connecting-devices/">
Connecting Devices
</a>
</li>
<li data-nav-id="/hono/docs/1.2/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
<a href="/hono/docs/1.2/concepts/device-notifications/">
Device Notifications
</a>
</li>
<li data-nav-id="/hono/docs/1.2/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
<a href="/hono/docs/1.2/concepts/command-and-control/">
Command &amp; Control
</a>
</li>
<li data-nav-id="/hono/docs/1.2/concepts/resource-limits/" title="Resource limits" class="dd-item ">
<a href="/hono/docs/1.2/concepts/resource-limits/">
Resource limits
</a>
</li>
<li data-nav-id="/hono/docs/1.2/concepts/connection-events/" title="Connection Events" class="dd-item ">
<a href="/hono/docs/1.2/concepts/connection-events/">
Connection Events
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.2/user-guide/" title="User Guide" class="dd-item
">
<a href="/hono/docs/1.2/user-guide/">
<i class="fas fa-book-reader"></i> User Guide
</a>
<ul>
<li data-nav-id="/hono/docs/1.2/user-guide/device-registry/" title="Device Registry" class="dd-item ">
<a href="/hono/docs/1.2/user-guide/device-registry/">
Device Registry
</a>
</li>
<li data-nav-id="/hono/docs/1.2/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
<a href="/hono/docs/1.2/user-guide/http-adapter/">
HTTP Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.2/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
<a href="/hono/docs/1.2/user-guide/mqtt-adapter/">
MQTT Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.2/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
<a href="/hono/docs/1.2/user-guide/amqp-adapter/">
AMQP Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.2/user-guide/coap-adapter/" title="CoAP Adapter" class="dd-item ">
<a href="/hono/docs/1.2/user-guide/coap-adapter/">
CoAP Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.2/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
<a href="/hono/docs/1.2/user-guide/kura-adapter/">
Kura Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.2/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
<a href="/hono/docs/1.2/user-guide/sigfox-adapter/">
Sigfox Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.2/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
<a href="/hono/docs/1.2/user-guide/jmeter_load_tests/">
Load Tests with JMeter
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.2/admin-guide/" title="Admin Guide" class="dd-item
parent
">
<a href="/hono/docs/1.2/admin-guide/">
<i class="fas fa-sliders-h"></i> Admin Guide
</a>
<ul>
<li data-nav-id="/hono/docs/1.2/admin-guide/common-config/" title="Common Configuration" class="dd-item active">
<a href="/hono/docs/1.2/admin-guide/common-config/">
Common Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.2/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
<a href="/hono/docs/1.2/admin-guide/auth-server-config/">
Auth Server Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.2/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
<a href="/hono/docs/1.2/admin-guide/device-registry-config/">
Device Registry Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.2/admin-guide/device-connection-config/" title="Configuring the Device Connection Service" class="dd-item ">
<a href="/hono/docs/1.2/admin-guide/device-connection-config/">
Device Connection Service Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.2/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
<a href="/hono/docs/1.2/admin-guide/http-adapter-config/">
HTTP Adapter Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.2/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
<a href="/hono/docs/1.2/admin-guide/amqp-adapter-config/">
AMQP Adapter Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.2/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
<a href="/hono/docs/1.2/admin-guide/mqtt-adapter-config/">
MQTT Adapter Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.2/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
<a href="/hono/docs/1.2/admin-guide/kura-adapter-config/">
Kura Adapter Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.2/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
<a href="/hono/docs/1.2/admin-guide/hono-client-configuration/">
Hono Client Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.2/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
<a href="/hono/docs/1.2/admin-guide/amqp-network-config/">
AMQP 1.0 Messaging Network Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.2/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
<a href="/hono/docs/1.2/admin-guide/secure_communication/">
Secure Communication
</a>
</li>
<li data-nav-id="/hono/docs/1.2/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
<a href="/hono/docs/1.2/admin-guide/monitoring-tracing-config/">
Monitoring &amp; Tracing
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.2/dev-guide/" title="Developer Guide" class="dd-item
">
<a href="/hono/docs/1.2/dev-guide/">
<i class="fas fa-tools"></i> Developer Guide
</a>
<ul>
<li data-nav-id="/hono/docs/1.2/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
<a href="/hono/docs/1.2/dev-guide/building_hono/">
Building from Source
</a>
</li>
<li data-nav-id="/hono/docs/1.2/dev-guide/amqp_adapter_client/" title="AMQP Adapter Client for Java" class="dd-item ">
<a href="/hono/docs/1.2/dev-guide/amqp_adapter_client/">
AMQP Adapter Client for Java
</a>
</li>
<li data-nav-id="/hono/docs/1.2/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
<a href="/hono/docs/1.2/dev-guide/java_client_consumer/">
Consuming Messages from Java
</a>
</li>
<li data-nav-id="/hono/docs/1.2/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
<a href="/hono/docs/1.2/dev-guide/custom_http_adapter/">
Implement a Custom Hono HTTP Protocol Adapter
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.2/api/" title="API" class="dd-item
">
<a href="/hono/docs/1.2/api/">
&nbsp;<i class='fas fa-plug'></i>&nbsp;API
</a>
<ul>
<li data-nav-id="/hono/docs/1.2/api/telemetry/" title="Telemetry API Specification" class="dd-item ">
<a href="/hono/docs/1.2/api/telemetry/">
Telemetry API
</a>
</li>
<li data-nav-id="/hono/docs/1.2/api/event/" title="Event API Specification" class="dd-item ">
<a href="/hono/docs/1.2/api/event/">
Event API
</a>
</li>
<li data-nav-id="/hono/docs/1.2/api/command-and-control/" title="Command &amp; Control API Specification" class="dd-item ">
<a href="/hono/docs/1.2/api/command-and-control/">
Command &amp; Control API
</a>
</li>
<li data-nav-id="/hono/docs/1.2/api/tenant/" title="Tenant API Specification" class="dd-item ">
<a href="/hono/docs/1.2/api/tenant/">
Tenant API
</a>
</li>
<li data-nav-id="/hono/docs/1.2/api/device-connection/" title="Device Connection API Specification" class="dd-item ">
<a href="/hono/docs/1.2/api/device-connection/">
Device Connection API
</a>
</li>
<li data-nav-id="/hono/docs/1.2/api/device-registration/" title="Device Registration API Specification" class="dd-item ">
<a href="/hono/docs/1.2/api/device-registration/">
Device Registration API
</a>
</li>
<li data-nav-id="/hono/docs/1.2/api/credentials/" title="Credentials API Specification" class="dd-item ">
<a href="/hono/docs/1.2/api/credentials/">
Credentials API
</a>
</li>
<li data-nav-id="/hono/docs/1.2/api/authentication/" title="Authentication API Specification" class="dd-item ">
<a href="/hono/docs/1.2/api/authentication/">
Authentication API
</a>
</li>
<li data-nav-id="/hono/docs/1.2/api/management/" title="Device Registry Management API Specification" class="dd-item ">
<a href="/hono/docs/1.2/api/management/">
Device Registry Management API
</a>
</li>
<li data-nav-id="/hono/docs/1.2/api/metrics/" title="Metrics" class="dd-item ">
<a href="/hono/docs/1.2/api/metrics/">
Metrics
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.2/deployment/" title="Deployment" class="dd-item
">
<a href="/hono/docs/1.2/deployment/">
<i class="fas fa-shipping-fast"></i> Deployment
</a>
<ul>
<li data-nav-id="/hono/docs/1.2/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
<a href="/hono/docs/1.2/deployment/helm-based-deployment/">
Helm based Deployment
</a>
</li>
<li data-nav-id="/hono/docs/1.2/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
<a href="/hono/docs/1.2/deployment/openshift/">
OpenShift / OKD
</a>
</li>
<li data-nav-id="/hono/docs/1.2/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
<a href="/hono/docs/1.2/deployment/create-kubernetes-cluster/">
Setting up a Kubernetes Cluster
</a>
</li>
<li data-nav-id="/hono/docs/1.2/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
<a href="/hono/docs/1.2/deployment/resource-limitation/">
Limiting Resource Usage
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.2/architecture/" title="Architecture" class="dd-item
">
<a href="/hono/docs/1.2/architecture/">
<i class="fas fa-landmark"></i> Architecture
</a>
<ul>
<li data-nav-id="/hono/docs/1.2/architecture/component-view/" title="Component View" class="dd-item ">
<a href="/hono/docs/1.2/architecture/component-view/">
Component View
</a>
</li>
<li data-nav-id="/hono/docs/1.2/architecture/auth/" title="Authentication/Authorization" class="dd-item ">
<a href="/hono/docs/1.2/architecture/auth/">
Authentication/Authorization
</a>
</li>
</ul>
</li>
</ul>
<section id="shortcuts">
<h3></h3>
<ul>
<li>
<a class="padding" href="https://www.eclipse.org/hono/" title="Hono&#39;s Homepage"><i class='fas fa-home'></i> Hono Home</a>
</li>
<li>
<a class="padding" href="https://www.eclipse.org/hono/getting-started/" title="Getting started with Eclipse Hono"><i class='fas fa-plane-departure'></i> Getting Started</a>
</li>
</ul>
</section>
<section id="prefooter">
<hr/>
<ul>
<li>
<div id="select-box-wrapper">
<div id="select-box">
<a class="padding">
Version:&nbsp;
<div class="select-style">
<select id="select-language" onchange="location = this.value;">
<option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/common-config/">stable (1.8)</option>
<option id="1.8" value="https://www.eclipse.org/hono/docs/1.8/admin-guide/common-config/">1.8</option>
<option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/common-config/">1.7</option>
<option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/common-config/">1.6</option>
<option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/admin-guide/common-config/">1.5</option>
<option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/admin-guide/common-config/">1.4</option>
<option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/admin-guide/common-config/">1.3</option>
<option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/admin-guide/common-config/" selected>1.2</option>
<option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/admin-guide/common-config/">1.1</option>
<option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/admin-guide/common-config/">1.0</option>
<option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/common-config/">dev</option>
</select>
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
<g>
<g id="arrow-drop-down">
<polygon points="0,63.75 127.5,191.25 255,63.75 " />
</g>
</g>
</svg>
</div>
</a>
</div>
</div>
</li>
</ul>
</section>
<section id="footer">
<p>&copy; 2021 <a href="https://www.eclipse.org/hono/">The Eclipse Hono Project</a></p>
<p>
Documentation built with
<a href="https://gohugo.io/" target="_blank">Hugo</a>
using the
<a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
</p>
<div class="eclipse-logo">
<a href="https://www.eclipse.org" target="_blank">
<img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
</a>
</div>
</section>
</div>
</nav>
<section id="body">
<div id="overlay"></div>
<div class="old-version-hint">
<p>This page refers to version <em>1.2</em>.
You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
</p>
</div>
<div class="padding highlightable">
<div>
<div id="top-bar">
<div id="top-github-link">
<a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/admin-guide/common-config.md" target="blank">
<i class="fas fa-code-branch"></i>
<span id="top-github-link-text">Edit this page</span>
</a>
</div>
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fas fa-bars"></i>
</a>
</span>
<span id="toc-menu"><i class="fas fa-list-alt"></i></span>
<span class="links">
<a href='/hono/docs/1.2/'>Documentation</a> > <a href='/hono/docs/1.2/admin-guide/'>Admin Guide</a> > Common Configuration
</span>
</div>
<div class="progress">
<div class="wrapper">
<nav id="TableOfContents">
<ul>
<li><a href="#java-vm-options">Java VM Options</a></li>
<li><a href="#vertx-options">Vert.x Options</a>
<ul>
<li><a href="#using-epoll-on-linux">Using epoll() on Linux</a></li>
</ul>
</li>
<li><a href="#protocol-adapter-options">Protocol Adapter Options</a>
<ul>
<li><a href="#amqp-10-messaging-network-connection-configuration">AMQP 1.0 Messaging Network Connection Configuration</a></li>
<li><a href="#command--control-connection-configuration">Command &amp; Control Connection Configuration</a></li>
<li><a href="#tenant-service-connection-configuration">Tenant Service Connection Configuration</a></li>
<li><a href="#device-registration-service-connection-configuration">Device Registration Service Connection Configuration</a></li>
<li><a href="#credentials-service-connection-configuration">Credentials Service Connection Configuration</a></li>
<li><a href="#device-connection-service-connection-configuration">Device Connection Service Connection Configuration</a></li>
<li><a href="#resource-limits-checker-configuration">Resource Limits Checker Configuration</a></li>
</ul>
</li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="head-tags">
</div>
<div id="body-inner">
<h1>
Common Configuration
</h1>
<p>Many Hono components support a common set of configuration options. This section
describes those options.</p>
<p>Each component which supports the following options explicitly states so. If
it doesn&rsquo;t, then these options are not supported by this component.</p>
<h2 id="java-vm-options">Java VM Options</h2>
<p>The Java VM started in Hono&rsquo;s components can be configured with arbitrary command line options by means of setting the <code>JDK_JAVA_OPTIONS</code> environment variable.</p>
<table>
<thead>
<tr>
<th style="text-align:left">Environment Variable</th>
<th style="text-align:center">Mandatory</th>
<th style="text-align:left">Default</th>
<th style="text-align:left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><code>JDK_JAVA_OPTIONS</code></td>
<td style="text-align:center">no</td>
<td style="text-align:left">-</td>
<td style="text-align:left">Any options that should be passed to the Java VM on the command line, e.g. <code>-Xmx128m</code></td>
</tr>
</tbody>
</table>
<h2 id="vertx-options">Vert.x Options</h2>
<p>The vert.x framework instance used to run Hono&rsquo;s components on can be configured using the following environment variables or corresponding command line options:</p>
<table>
<thead>
<tr>
<th style="text-align:left">Environment Variable<br>Command Line Option</th>
<th style="text-align:center">Mandatory</th>
<th style="text-align:left">Default</th>
<th style="text-align:left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><code>HONO_VERTX_DNS_QUERY_TIMEOUT</code><br><code>--hono.vertx.dnsQueryTimeout</code></td>
<td style="text-align:center">no</td>
<td style="text-align:left"><code>5000</code></td>
<td style="text-align:left">The amount of time (in milliseconds) after which a DNS query is considered to be failed. Setting this variable to a smaller value may help to reduce the time required to establish connections to the services this adapter depends on. However, setting it to a value that is too small for any DNS query to succeed will effectively prevent any connections to be established at all.</td>
</tr>
<tr>
<td style="text-align:left"><code>HONO_VERTX_MAX_EVENT_LOOP_EXECUTE_TIME_MILLIS</code><br><code>--hono.vertx.maxEventLoopExecuteTimeMillis</code></td>
<td style="text-align:center">no</td>
<td style="text-align:left"><code>2000</code></td>
<td style="text-align:left">The maximum number of milliseconds that a task on the event loop may run without being considered to block the event loop.</td>
</tr>
<tr>
<td style="text-align:left"><code>HONO_VERTX_PREFER_NATIVE</code><br><code>--hono.vertx.preferNative</code></td>
<td style="text-align:center">no</td>
<td style="text-align:left"><code>false</code></td>
<td style="text-align:left">Tries to enable <em>epoll()</em> support on Linux (if available). See the <a href="./#epoll">notes below</a> for an explanation of the benefits of enabling <em>epoll</em>.</td>
</tr>
</tbody>
</table>
<p><a name="epoll"></a></p>
<h3 id="using-epoll-on-linux">Using epoll() on Linux</h3>
<p>Using <code>epoll()</code> on Linux may provide better performance for applications which
have a high I/O throughput. Especially when the application supports an
asynchronous I/O model. This is true for most Hono components and applications using Hono.</p>
<p>The <em>Netty</em> framework supports using <code>epoll()</code> on Linux x86_64 based systems.
Hono provides the a Maven build profile for enabling
support for <em>epoll</em> during the build process.</p>
<p>In order to use <em>epoll</em></p>
<ul>
<li>Hono needs to be built with the <code>netty-native-linux-x86_64</code> Maven profile enabled and</li>
<li>the <code>HONO_VERTX_PREFER_NATIVE</code> environment variable needs to be set to <code>true</code> on startup.</li>
</ul>
<h2 id="protocol-adapter-options">Protocol Adapter Options</h2>
<h3 id="amqp-10-messaging-network-connection-configuration">AMQP 1.0 Messaging Network Connection Configuration</h3>
<p>Protocol adapters require a connection to the <em>AMQP 1.0 Messaging Network</em> in order to forward telemetry data and events received from devices to downstream consumers.</p>
<p>The connection to the messaging network is configured according to <a href="/hono/docs/1.2/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
with <code>HONO_MESSAGING</code> being used as <code>${PREFIX}</code>. Since there are no responses being received, the properties for configuring response caching can be ignored.</p>
<h3 id="command--control-connection-configuration">Command &amp; Control Connection Configuration</h3>
<p>Protocol adapters require an additional connection to the <em>AMQP 1.0 Messaging Network</em> in order to receive
commands from downstream applications and send responses to commands back to applications.</p>
<p>The connection is configured according to <a href="/hono/docs/1.2/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
with <code>HONO_COMMAND</code> being used as <code>${PREFIX}</code>. The properties for configuring response caching can be ignored.</p>
<h3 id="tenant-service-connection-configuration">Tenant Service Connection Configuration</h3>
<p>Protocol adapters require a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/1.2/api/tenant/">Tenant API</a> in order to retrieve information for a tenant.</p>
<p>The connection to the Tenant Service is configured according to <a href="/hono/docs/1.2/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
where the <code>${PREFIX}</code> is set to <code>HONO_TENANT</code> and the additional values for response caching apply.</p>
<p>The adapter caches the responses from the service according to the <em>cache directive</em> included in the response.
If the response doesn&rsquo;t contain a <em>cache directive</em> no data will be cached.</p>
<h3 id="device-registration-service-connection-configuration">Device Registration Service Connection Configuration</h3>
<p>Protocol adapters require a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/1.2/api/device-registration/">Device Registration API</a> in order to retrieve registration status assertions for connected devices.</p>
<p>The connection to the Device Registration Service is configured according to <a href="/hono/docs/1.2/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
where the <code>${PREFIX}</code> is set to <code>HONO_REGISTRATION</code>.</p>
<p>The adapter caches the responses from the service according to the <em>cache directive</em> included in the response.
If the response doesn&rsquo;t contain a <em>cache directive</em> no data will be cached.</p>
<h3 id="credentials-service-connection-configuration">Credentials Service Connection Configuration</h3>
<p>Protocol adapters require a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/1.2/api/credentials/">Credentials API</a> in order to retrieve credentials stored for devices that needs to be authenticated. During connection establishment, the adapter uses the Credentials API to retrieve the credentials on record for the device and matches that with the credentials provided by a device.</p>
<p>The connection to the Credentials Service is configured according to <a href="/hono/docs/1.2/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
where the <code>${PREFIX}</code> is set to <code>HONO_CREDENTIALS</code>.</p>
<p>The adapter caches the responses from the service according to the <em>cache directive</em> included in the response.
If the response doesn&rsquo;t contain a <em>cache directive</em> no data will be cached.</p>
<h3 id="device-connection-service-connection-configuration">Device Connection Service Connection Configuration</h3>
<p>Protocol adapters require a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/1.2/api/device-connection/">Device Connection API</a>
in order to determine the gateway that a device is connected via to a protocol adapter. This information is required in order to
forward commands issued by applications to the protocol adapter instance that the gateway is connected to.</p>
<p>The connection to the Device Connection service is configured according to <a href="/hono/docs/1.2/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
where the <code>${PREFIX}</code> is set to <code>HONO_DEVICECONNECTION</code>.</p>
<p>Responses from the Device Connection service are never cached, so the properties for configuring the cache are ignored.</p>
<h4 id="direct-connection-to-data-grid">Direct Connection to Data Grid</h4>
<p>Protocol adapters can alternatively be configured to directly access an data grid for storing and retrieving
device connection information using <a href="https://infinispan.org">Infinispan</a>&rsquo;s Hotrod protocol.
This has the advantage of saving the network hop to the Device Connection service. However,
this is only beneficial if the Device Connection service implementation itself uses a remote service (like a data grid) for
storing the data.</p>
<p>The following table provides an overview of the configuration variables and corresponding command line options for configuring
the connection to the data grid:</p>
<table>
<thead>
<tr>
<th style="text-align:left">Environment Variable<br>Command Line Option</th>
<th style="text-align:center">Mandatory</th>
<th style="text-align:left">Default</th>
<th style="text-align:left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><code>HONO_DEVICECONNECTION_SERVER_LIST</code><br><code>--hono.deviceConnection.serverList</code></td>
<td style="text-align:center">yes</td>
<td style="text-align:left">-</td>
<td style="text-align:left">A list of remote servers in the form: <code>host1[:port][;host2[:port]]....</code>.</td>
</tr>
<tr>
<td style="text-align:left"><code>HONO_DEVICECONNECTION_AUTH_SERVER_NAME</code><br><code>--hono.deviceConnection.authServerName</code></td>
<td style="text-align:center">yes</td>
<td style="text-align:left">-</td>
<td style="text-align:left">The server name to indicate in the SASL handshake when authenticating to the server.</td>
</tr>
<tr>
<td style="text-align:left"><code>HONO_DEVICECONNECTION_AUTH_USERNAME</code><br><code>--hono.deviceConnection.authUsername</code></td>
<td style="text-align:center">yes</td>
<td style="text-align:left">-</td>
<td style="text-align:left">The username to use for authenticating to the server.</td>
</tr>
<tr>
<td style="text-align:left"><code>HONO_DEVICECONNECTION_AUTH_PASSWORD</code><br><code>--hono.deviceConnection.authPassword</code></td>
<td style="text-align:center">yes</td>
<td style="text-align:left">-</td>
<td style="text-align:left">The password to use for authenticating to the server.</td>
</tr>
</tbody>
</table>
<p>In general, the service supports all configuration properties of the <a href="https://docs.jboss.org/infinispan/9.4/apidocs/org/infinispan/client/hotrod/configuration/package-summary.html#package.description">Infinispan Hotrod client</a> using <code>hono.deviceConnection</code> instead of the <code>infinispan.client.hotrod</code> prefix.</p>
<h3 id="resource-limits-checker-configuration">Resource Limits Checker Configuration</h3>
<p>The adapter can use metrics collected by a Prometheus server to enforce certain limits set at the tenant level like the overall number of connected devices allowed per tenant.</p>
<p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the checker.</p>
<table>
<thead>
<tr>
<th style="text-align:left">Environment Variable<br>Command Line Option</th>
<th style="text-align:center">Mandatory</th>
<th style="text-align:left">Default Value</th>
<th style="text-align:left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_HOST</code><br><code>--hono.resourceLimits.prometheusBased.host</code></td>
<td style="text-align:center">no</td>
<td style="text-align:left"><code>localhost</code></td>
<td style="text-align:left">The host name or IP address of the Prometheus server to retrieve the metrics data from. This property needs to be set in order to enable the Prometheus based checks.</td>
</tr>
<tr>
<td style="text-align:left"><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_PORT</code><br><code>--hono.resourceLimits.prometheusBased.port</code></td>
<td style="text-align:center">no</td>
<td style="text-align:left"><code>9090</code></td>
<td style="text-align:left">The port of the Prometheus server to retrieve metrics data from.</td>
</tr>
<tr>
<td style="text-align:left"><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_CACHE_MIN_SIZE</code><br><code>--hono.resourceLimits.prometheusBased.cacheMinSize</code></td>
<td style="text-align:center">no</td>
<td style="text-align:left"><code>20</code></td>
<td style="text-align:left">The minimum size of the cache to store the metrics data retrieved from the Prometheus server. The cache is used for storing the current amount of data exchanged with devices of tenants.</td>
</tr>
<tr>
<td style="text-align:left"><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_CACHE_MAX_SIZE</code><br><code>--hono.resourceLimits.prometheusBased.cacheMaxSize</code></td>
<td style="text-align:center">no</td>
<td style="text-align:left"><code>1000</code></td>
<td style="text-align:left">The maximum size of the cache to store the metrics data retrieved from the Prometheus server.</td>
</tr>
<tr>
<td style="text-align:left"><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_CACHE_TIMEOUT</code><br><code>--hono.resourceLimits.prometheusBased.cacheTimeout</code></td>
<td style="text-align:center">no</td>
<td style="text-align:left"><code>600</code></td>
<td style="text-align:left">The number of seconds after which the cached metrics data should be considered invalid.</td>
</tr>
</tbody>
</table>
<p>In addition to the properties listed above, the resource limit checker also supports the properties listed below as documented in the
<a href="/hono/docs/1.2/admin-guide/hono-client-configuration/">Hono Client Configuration</a>. These properties might be useful if a reverse proxy in front of
the Prometheus server requires the client to use TLS and/or provide credentials for authentication.</p>
<ul>
<li><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_CREDENTIALSPATH</code></li>
<li><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_HOSTNAMEVERIFICATIONREQUIRED</code></li>
<li><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_KEYPATH</code></li>
<li><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_KEYSTOREPASSWORD</code></li>
<li><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_KEYSTOREPATH</code></li>
<li><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_PASSWORD</code></li>
<li><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_SECUREPROTOCOLS</code></li>
<li><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_TLSENABLED</code></li>
<li><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_TRUSTSTOREPATH</code></li>
<li><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_TRUSTSTOREPASSWORD</code></li>
<li><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_USERNAME</code></li>
</ul>
<footer class="footline">
</footer>
</div>
</div>
<div id="navigation">
</div>
</section>
<div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
<div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
</div>
<script src="/hono/docs/js/clipboard.min.js?1626138731"></script>
<script src="/hono/docs/js/perfect-scrollbar.min.js?1626138731"></script>
<script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1626138731"></script>
<script src="/hono/docs/js/jquery.sticky.js?1626138731"></script>
<script src="/hono/docs/js/featherlight.min.js?1626138731"></script>
<script src="/hono/docs/js/highlight.pack.js?1626138731"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="/hono/docs/js/modernizr.custom-3.6.0.js?1626138731"></script>
<script src="/hono/docs/js/learn.js?1626138731"></script>
<script src="/hono/docs/js/hugo-learn.js?1626138731"></script>
<link href="/hono/docs/mermaid/mermaid.css?1626138731" rel="stylesheet" />
<script src="/hono/docs/mermaid/mermaid.js?1626138731"></script>
<script>
mermaid.initialize({ startOnLoad: true });
</script>
<script>
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-5WLCZXC');
</script>
<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
</body>
</html>