latest web site changes
diff --git a/docs/dev/dev-guide/building_hono/index.html b/docs/dev/dev-guide/building_hono/index.html
new file mode 100644
index 0000000..97b7da0
--- /dev/null
+++ b/docs/dev/dev-guide/building_hono/index.html
@@ -0,0 +1,2248 @@
+<!DOCTYPE html>
+<html lang="dev" 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.54.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>Building from Source :: Eclipse Hono™ Vers.: dev</title>
+
+
+ <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+
+ <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+
+
+ <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+ <style type="text/css">
+ :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">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Building from Source :: Eclipse Hono&trade; Vers.: dev">
+<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="Building from Source :: Eclipse Hono&trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/dev-guide/building_hono//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+ </head>
+ <body class="" data-url="/hono/docs/dev/dev-guide/building_hono/">
+ <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?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+
+ var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+
+ </div>
+
+ <div class="highlightable">
+ <ul class="topics">
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/concepts/">
+ <i class="far fa-lightbulb"></i> Concepts
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/device-identity/">
+ Device Identity
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/tenancy/">
+ Multi-Tenancy
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/device-notifications/">
+ Device Notifications
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command & Control" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/command-and-control/">
+ Command & Control
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/resource-limits/">
+ Resource limits
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/connection-events/">
+ Connection Events
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/user-guide/">
+ <i class="fas fa-book-reader"></i> User Guide
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/device-registry/">
+ Device Registry
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/http-adapter/">
+ HTTP Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+ MQTT Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+ AMQP Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/kura-adapter/">
+ Kura Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+ Sigfox Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+ Load Tests with JMeter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/admin-guide/">
+ <i class="fas fa-sliders-h"></i> Admin Guide
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/common-config/">
+ Common Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+ Auth Server Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+ Device Registry Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+ HTTP Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+ AMQP Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+ MQTT Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+ Kura Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+ Hono Client Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+ AMQP 1.0 Messaging Network Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/secure_communication/">
+ Secure Communication
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring & Tracing" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+ Monitoring & Tracing
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item
+ parent
+
+
+ ">
+ <a href="/hono/docs/dev/dev-guide/">
+ <i class="fas fa-tools"></i> Developer Guide
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item active">
+ <a href="/hono/docs/dev/dev-guide/building_hono/">
+ Building from Source
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+ <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+ Consuming Messages from Java
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+ Implement a Custom Hono HTTP Protocol Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/api/">
+ <i class='fas fa-plug'></i> API
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/telemetry-api/">
+ Telemetry API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/event-api/">
+ Event API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command & Control API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/command-and-control-api/">
+ Command & Control API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/tenant-api/">
+ Tenant API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/device-connection-api/">
+ Device Connection API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/device-registration-api/">
+ Device Registration API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/credentials-api/">
+ Credentials API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/authentication-api/">
+ Authentication API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+ <a href="/hono/docs/dev/api/metrics/">
+ Metrics
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/deployment/">
+ <i class="fas fa-shipping-fast"></i> Deployment
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+ <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+ Helm based Deployment
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+ <a href="/hono/docs/dev/deployment/openshift/">
+ OpenShift / OKD
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+ <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+ Setting up a Kubernetes Cluster
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+ <a href="/hono/docs/dev/deployment/resource-limitation/">
+ Limiting Resource Usage
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/architecture/">
+ <i class="fas fa-landmark"></i> Architecture
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+ <a href="/hono/docs/dev/architecture/component-view/component-view/">
+ Component View
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+ <a href="/hono/docs/dev/architecture/auth/auth/">
+ Authentication/Authorization
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+ </ul>
+
+
+
+
+
+ <section id="prefooter">
+ <hr/>
+ <ul>
+
+ <li>
+ <div id="select-box-wrapper">
+ <div id="select-box">
+ <a class="padding">
+ Version:
+ <div class="select-style">
+ <select id="select-language" onchange="location = this.value;">
+
+
+
+
+
+
+
+
+ <option id="stable" value="/hono/docs/dev-guide/building_hono/">stable (1.0-M5)</option>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <option id="dev" value="/hono/docs/dev/dev-guide/building_hono/" selected>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>© 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+ Documentation built with
+ <a href="https://www.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>dev</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/dev-guide/building_hono.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/dev/'>Documentation</a> > <a href='/hono/docs/dev/dev-guide/'>Developer Guide</a> > Building from Source
+
+
+
+
+
+
+
+ </span>
+ </div>
+
+ <div class="progress">
+ <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#prerequisites-for-building-hono">Prerequisites for building Hono</a>
+<ul>
+<li>
+<ul>
+<li><a href="#docker">Docker</a></li>
+<li><a href="#java">Java</a></li>
+<li><a href="#maven">Maven</a></li>
+<li><a href="#git">Git</a></li>
+</ul></li>
+</ul></li>
+<li><a href="#getting-the-hono-source-code">Getting the Hono Source Code</a></li>
+<li><a href="#starting-the-hono-build-process">Starting the Hono Build Process</a></li>
+</ul></li>
+</ul>
+</nav>
+ </div>
+</div>
+
+
+ </div>
+ </div>
+
+
+
+ <div id="body-inner">
+
+ <h1>Building from Source</h1>
+
+
+
+
+
+
+
+<p>Hono can be deployed using the pre-built Docker images available from our <a href="https://hub.docker.com/u/eclipse/">Docker Hub repositories</a>. However, customizing and/or extending Hono’s functionality requires building the images from source code.</p>
+
+<p>This page provides step by step instructions for getting the source code and building the Hono’s Docker images from it.</p>
+
+<h2 id="prerequisites-for-building-hono">Prerequisites for building Hono</h2>
+
+<h4 id="docker">Docker</h4>
+
+<p>Creating Hono’s container images using the Hono build process requires a <a href="http://www.docker.com">Docker</a> daemon running either locally or on another host you have access to. Please follow the instructions on the <a href="http://www.docker.com">Docker web site</a> to install Docker on your platform.</p>
+
+<h4 id="java">Java</h4>
+
+<p>Hono is written in Java and therefore requires a Java Development Kit (JDK) version 11 or higher installed on your computer. Please follow the JDK vendor’s instructions for installing Java on your operating system.</p>
+
+<h4 id="maven">Maven</h4>
+
+<p>Hono’s build process is based on <a href="https://maven.apache.org">Apache Maven</a>. You need at least Maven 3.5 in order to build Hono.
+Please follow the <a href="https://maven.apache.org/">installation instructions on the Maven home page</a>.</p>
+
+<h4 id="git">Git</h4>
+
+<p>A Git client is required if you want to contribute changes/improvements to the Hono project. It is not necessary for simply building Hono locally.
+Please refer to the <a href="https://git-scm.com/downloads">Git Downloads page</a> for installation instructions.</p>
+
+<h2 id="getting-the-hono-source-code">Getting the Hono Source Code</h2>
+
+<p>Either</p>
+
+<ul>
+<li>download the latest <a href="https://github.com/eclipse/hono/releases">release archive</a> and extract the archive to a local folder or</li>
+<li>clone the Hono source code repository from GitHub:
+<code>
+git clone https://github.com/eclipse/hono.git
+</code>
+This will create a <code>hono</code> folder in the current working directory and clone the whole repository into that folder.</li>
+</ul>
+
+<h2 id="starting-the-hono-build-process">Starting the Hono Build Process</h2>
+
+<p>Run the following from the source folder:</p>
+
+<pre><code class="language-sh"># in the "hono" folder containing the source code
+mvn clean install -Ddocker.host=tcp://${host}:${port} -Pbuild-docker-image,metrics-prometheus
+</code></pre>
+
+<p>with <code>${host}</code> and <code>${port}</code> reflecting the name/IP address and port of the host where Docker is running on. This will build all libraries, Docker images and example code. If you are running on Linux and Docker is installed locally or you have set the <code>DOCKER_HOST</code> environment variable, you can omit the <code>-Ddocker.host</code> property definition.</p>
+
+<p>If you plan to build the Docker images more frequently, e.g. because you want to extend or improve the Hono code, then you should define the <code>docker.host</code> property in your Maven <code>settings.xml</code> file containing the very same value as you would use on the command line as indicated above. The file is usually located in the <code>.m2</code> folder in your user’s home directory. This way you can simply do a <code>mvn clean install</code> later on and the Docker images will be built automatically as well because the <code>build-docker-image</code> profile is activated automatically if the Maven property <code>docker.host</code> is set.</p>
+
+<div class="alert alert-notice">
+ <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Be patient</h4>
+ <div>The first build might take several minutes because Docker will need to download all the base images that Hono is relying on. However, most of these will be cached by Docker so that subsequent builds will be running much faster.</div>
+</div>
+
+
+
+<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?1564044211"></script>
+ <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+ <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+ <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+ <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+ <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+ <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+ <script>hljs.initHighlightingOnLoad();</script>
+ <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+ <script src="/hono/docs/js/learn.js?1564044211"></script>
+ <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+ <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+ <script src="/hono/docs/mermaid/mermaid.js?1564044211"></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>
+
diff --git a/docs/dev/dev-guide/custom_http_adapter/index.html b/docs/dev/dev-guide/custom_http_adapter/index.html
new file mode 100644
index 0000000..2ada34a
--- /dev/null
+++ b/docs/dev/dev-guide/custom_http_adapter/index.html
@@ -0,0 +1,2296 @@
+<!DOCTYPE html>
+<html lang="dev" 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.54.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>Implement a Custom Hono HTTP Protocol Adapter :: Eclipse Hono™ Vers.: dev</title>
+
+
+ <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+
+ <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+
+
+ <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+ <style type="text/css">
+ :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">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Implement a Custom Hono HTTP Protocol Adapter :: Eclipse Hono&trade; Vers.: dev">
+<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="Implement a Custom Hono HTTP Protocol Adapter :: Eclipse Hono&trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/dev-guide/custom_http_adapter//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+ </head>
+ <body class="" data-url="/hono/docs/dev/dev-guide/custom_http_adapter/">
+ <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?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+
+ var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+
+ </div>
+
+ <div class="highlightable">
+ <ul class="topics">
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/concepts/">
+ <i class="far fa-lightbulb"></i> Concepts
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/device-identity/">
+ Device Identity
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/tenancy/">
+ Multi-Tenancy
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/device-notifications/">
+ Device Notifications
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command & Control" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/command-and-control/">
+ Command & Control
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/resource-limits/">
+ Resource limits
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/connection-events/">
+ Connection Events
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/user-guide/">
+ <i class="fas fa-book-reader"></i> User Guide
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/device-registry/">
+ Device Registry
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/http-adapter/">
+ HTTP Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+ MQTT Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+ AMQP Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/kura-adapter/">
+ Kura Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+ Sigfox Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+ Load Tests with JMeter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/admin-guide/">
+ <i class="fas fa-sliders-h"></i> Admin Guide
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/common-config/">
+ Common Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+ Auth Server Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+ Device Registry Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+ HTTP Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+ AMQP Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+ MQTT Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+ Kura Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+ Hono Client Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+ AMQP 1.0 Messaging Network Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/secure_communication/">
+ Secure Communication
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring & Tracing" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+ Monitoring & Tracing
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item
+ parent
+
+
+ ">
+ <a href="/hono/docs/dev/dev-guide/">
+ <i class="fas fa-tools"></i> Developer Guide
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+ <a href="/hono/docs/dev/dev-guide/building_hono/">
+ Building from Source
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+ <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+ Consuming Messages from Java
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item active">
+ <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+ Implement a Custom Hono HTTP Protocol Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/api/">
+ <i class='fas fa-plug'></i> API
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/telemetry-api/">
+ Telemetry API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/event-api/">
+ Event API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command & Control API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/command-and-control-api/">
+ Command & Control API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/tenant-api/">
+ Tenant API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/device-connection-api/">
+ Device Connection API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/device-registration-api/">
+ Device Registration API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/credentials-api/">
+ Credentials API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/authentication-api/">
+ Authentication API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+ <a href="/hono/docs/dev/api/metrics/">
+ Metrics
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/deployment/">
+ <i class="fas fa-shipping-fast"></i> Deployment
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+ <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+ Helm based Deployment
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+ <a href="/hono/docs/dev/deployment/openshift/">
+ OpenShift / OKD
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+ <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+ Setting up a Kubernetes Cluster
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+ <a href="/hono/docs/dev/deployment/resource-limitation/">
+ Limiting Resource Usage
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/architecture/">
+ <i class="fas fa-landmark"></i> Architecture
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+ <a href="/hono/docs/dev/architecture/component-view/component-view/">
+ Component View
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+ <a href="/hono/docs/dev/architecture/auth/auth/">
+ Authentication/Authorization
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+ </ul>
+
+
+
+
+
+ <section id="prefooter">
+ <hr/>
+ <ul>
+
+ <li>
+ <div id="select-box-wrapper">
+ <div id="select-box">
+ <a class="padding">
+ Version:
+ <div class="select-style">
+ <select id="select-language" onchange="location = this.value;">
+
+
+
+
+
+
+
+
+ <option id="stable" value="/hono/docs/dev-guide/custom_http_adapter/">stable (1.0-M5)</option>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <option id="dev" value="/hono/docs/dev/dev-guide/custom_http_adapter/" selected>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>© 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+ Documentation built with
+ <a href="https://www.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>dev</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/dev-guide/custom_http_adapter.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/dev/'>Documentation</a> > <a href='/hono/docs/dev/dev-guide/'>Developer Guide</a> > Implement a Custom Hono HTTP Protocol Adapter
+
+
+
+
+
+
+
+ </span>
+ </div>
+
+ <div class="progress">
+ <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#prerequisites">Prerequisites</a></li>
+<li><a href="#the-standard-http-adapter">The standard HTTP Adapter</a></li>
+<li><a href="#anatomy-of-the-standard-http-adapter">Anatomy of the standard HTTP Adapter</a></li>
+<li><a href="#derive-a-custom-http-protocol-adapter">Derive a custom HTTP Protocol Adapter</a>
+<ul>
+<li><a href="#adding-routes">Adding Routes</a></li>
+</ul></li>
+<li><a href="#build-and-run-the-custom-http-protocol-adapter">Build and run the custom HTTP Protocol Adapter</a></li>
+<li><a href="#using-the-custom-http-protocol-adapter">Using the custom HTTP Protocol Adapter</a></li>
+<li><a href="#further-extend-the-custom-http-protocol-adapter">Further extend the custom HTTP Protocol Adapter</a></li>
+</ul></li>
+</ul>
+</nav>
+ </div>
+</div>
+
+
+ </div>
+ </div>
+
+
+
+ <div id="body-inner">
+
+ <h1>Implement a Custom Hono HTTP Protocol Adapter</h1>
+
+
+
+
+
+<p>Eclipse Hono™ comes with a default <em>HTTP Adapter</em> which can be used to interact with devices via HTTP.
+The default HTTP Adapter also serves as a blueprint for implementing a <em>custom</em> HTTP protocol adapter.</p>
+
+<p>This section will guide you through the steps to build your own custom HTTP protocol adapter.</p>
+
+<h2 id="prerequisites">Prerequisites</h2>
+
+<p>You should be familiar with the setup and start of Hono. Refer to the
+<a href="https://www.eclipse.org/hono/getting-started/
+">Getting Started</a> guide.</p>
+
+<h2 id="the-standard-http-adapter">The standard HTTP Adapter</h2>
+
+<p>Hono’s HTTP Adapter supports telemetry and event data processing. Please refer to the <a href="/hono/docs/dev/user-guide/http-adapter/">HTTP Adapter User Guide</a> and <a href="/hono/docs/dev/admin-guide/http-adapter-config/">HTTP Adapter Admin Guide</a> for details regarding the usage and configuration of the HTTP Adapter.</p>
+
+<p>You can find the source of the HTTP Adapter at <a href="https://github.com/eclipse/hono/tree/master/adapters/http-vertx">https://github.com/eclipse/hono/tree/master/adapters/http-vertx</a>.</p>
+
+<h2 id="anatomy-of-the-standard-http-adapter">Anatomy of the standard HTTP Adapter</h2>
+
+<p>Like many other Hono components, the HTTP Adapter is built on top of the <a href="https://vertx.io">Vert.x</a> framework.</p>
+
+<p>The HTTP Adapter’s <code>VertxBasedHttpProtocolAdapter</code> class is derived from an abstract base class. This base class implements the standard functionality for component initialization, receiving HTTP requests from devices or external clients, and forwarding of data to the downstream <em>AMQP Messaging Network</em>.</p>
+
+<h2 id="derive-a-custom-http-protocol-adapter">Derive a custom HTTP Protocol Adapter</h2>
+
+<p>Use the standard HTTP Adapter as a blueprint.</p>
+
+<h3 id="adding-routes">Adding Routes</h3>
+
+<p>In Vert.x, a <em>route</em> is a mapping of an HTTP request to a <em>handler</em>. Inside a route, Vert.x provides a <code>RoutingContext</code>
+instance which gives access to the HTTP request (and response) object containing the HTTP headers.</p>
+
+<p>The standard HTTP Adapter overrides the abstract method <code>addRoutes()</code>, provided by the base class, and adds routes for processing telemetry data and events.</p>
+
+<pre><code class="language-java">// route for uploading telemetry data
+router.route(HttpMethod.PUT, String.format("/telemetry/:%s/:%s", PARAM_TENANT, PARAM_DEVICE_ID))
+ .handler(ctx -> uploadTelemetryMessage(ctx, getTenantParam(ctx), getDeviceIdParam(ctx)));
+</code></pre>
+
+<p>The route for telemetry data parses the HTTP request, extracts the <em>tenant</em> and <em>deviceId</em> parameters from the
+request URL path, and forwards the message payload to the method <code>uploadTelemetryMessage()</code>, provided by the base class.</p>
+
+<p><strong>NB</strong> Note the Vert.x place holder indicators <code>:</code> inside the URL path pattern <code>/telemetry/:%s/:%s</code>. Vert.x makes matching
+place holders available as request parameters. See <a href="http://vertx.io/docs/vertx-web/java/#_capturing_path_parameters">Capturing path parameters</a> in the Vert.x documentation.</p>
+
+<p>The route for events looks very similar to the route for telemetry data. It forwards the event message payload to the <code>uploadEventMessage()</code> method.</p>
+
+<p>Please refer to the <a href="/hono/docs/dev/api/telemetry-api/">Telemetry API</a> and <a href="/hono/docs/dev/api/event-api/">Event API</a>
+for details about the different Hono APIs.</p>
+
+<p>In the custom HTTP protocol adapter adapt the routes according to your needs.</p>
+
+<h2 id="build-and-run-the-custom-http-protocol-adapter">Build and run the custom HTTP Protocol Adapter</h2>
+
+<p>If you have Hono running, you can launch your custom HTTP protocol adapter as a Docker Container or a Spring Boot application.</p>
+
+<p>You may adopt the Maven profile <code>build-docker-image</code> from the Maven POM file of the standard HTTP Adapter into your
+custom adapter’s Maven POM file.</p>
+
+<p>Follow the guidelines for running the HTTP Adapter in <a href="/hono/docs/dev/admin-guide/http-adapter-config/">HTTP Adapter</a>. Don’t forget to configure the custom protocol adapter to bind to a different port than the standard HTTP Adapter if you intend to run them both at the same time. See the <a href="/hono/docs/dev/admin-guide/http-adapter-config/#port-configuration">Port Configuration section</a> of the HTTP Adapter documentation for details.</p>
+
+<h2 id="using-the-custom-http-protocol-adapter">Using the custom HTTP Protocol Adapter</h2>
+
+<p>Now that you have your custom HTTP protocol adapter up and running, you can use any HTTP client, like <code>curl</code> or
+<code>HTTPie</code>, to publish data to your custom adapter.</p>
+
+<p>Note that before publishing data to your custom HTTP protocol adapter, you need to start a <em>consumer</em> for the tenant you intend to publish data for.
+Otherwise you will not be able to successfully send data. For this purpose, you may use the example consumer as described in the <a href="https://www.eclipse.org/hono/getting-started/
+">Getting Started</a> guide.</p>
+
+<h2 id="further-extend-the-custom-http-protocol-adapter">Further extend the custom HTTP Protocol Adapter</h2>
+
+<p>The abstract base class includes additional hooks which you may use to <em>plug into</em> the adapter’s life cycle:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Hook</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>preStartup()</code></td>
+<td align="left">called before start of adapter’s HTTP server</td>
+</tr>
+
+<tr>
+<td align="left"><code>onStartupSuccess()</code></td>
+<td align="left">called after successful start of adapter</td>
+</tr>
+
+<tr>
+<td align="left"><code>preShutdown()</code></td>
+<td align="left">called before stop of adapter’s HTTP server</td>
+</tr>
+
+<tr>
+<td align="left"><code>postShutdown</code></td>
+<td align="left">called after successful stop of adapter</td>
+</tr>
+</tbody>
+</table>
+
+<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?1564044211"></script>
+ <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+ <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+ <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+ <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+ <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+ <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+ <script>hljs.initHighlightingOnLoad();</script>
+ <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+ <script src="/hono/docs/js/learn.js?1564044211"></script>
+ <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+ <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+ <script src="/hono/docs/mermaid/mermaid.js?1564044211"></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>
+
diff --git a/docs/dev/dev-guide/index.html b/docs/dev/dev-guide/index.html
new file mode 100644
index 0000000..9235160
--- /dev/null
+++ b/docs/dev/dev-guide/index.html
@@ -0,0 +1,2163 @@
+<!DOCTYPE html>
+<html lang="dev" 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.54.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>Developer Guide :: Eclipse Hono™ Vers.: dev</title>
+
+
+ <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+
+ <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+
+
+ <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+ <style type="text/css">
+ :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">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Developer Guide :: Eclipse Hono&trade; Vers.: dev">
+<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="Developer Guide :: Eclipse Hono&trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/dev-guide//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+ </head>
+ <body class="" data-url="/hono/docs/dev/dev-guide/">
+ <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?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+
+ var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+
+ </div>
+
+ <div class="highlightable">
+ <ul class="topics">
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/concepts/">
+ <i class="far fa-lightbulb"></i> Concepts
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/device-identity/">
+ Device Identity
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/tenancy/">
+ Multi-Tenancy
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/device-notifications/">
+ Device Notifications
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command & Control" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/command-and-control/">
+ Command & Control
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/resource-limits/">
+ Resource limits
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/connection-events/">
+ Connection Events
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/user-guide/">
+ <i class="fas fa-book-reader"></i> User Guide
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/device-registry/">
+ Device Registry
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/http-adapter/">
+ HTTP Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+ MQTT Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+ AMQP Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/kura-adapter/">
+ Kura Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+ Sigfox Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+ Load Tests with JMeter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/admin-guide/">
+ <i class="fas fa-sliders-h"></i> Admin Guide
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/common-config/">
+ Common Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+ Auth Server Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+ Device Registry Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+ HTTP Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+ AMQP Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+ MQTT Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+ Kura Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+ Hono Client Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+ AMQP 1.0 Messaging Network Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/secure_communication/">
+ Secure Communication
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring & Tracing" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+ Monitoring & Tracing
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item
+ parent
+ active
+
+ ">
+ <a href="/hono/docs/dev/dev-guide/">
+ <i class="fas fa-tools"></i> Developer Guide
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+ <a href="/hono/docs/dev/dev-guide/building_hono/">
+ Building from Source
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+ <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+ Consuming Messages from Java
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+ Implement a Custom Hono HTTP Protocol Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/api/">
+ <i class='fas fa-plug'></i> API
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/telemetry-api/">
+ Telemetry API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/event-api/">
+ Event API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command & Control API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/command-and-control-api/">
+ Command & Control API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/tenant-api/">
+ Tenant API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/device-connection-api/">
+ Device Connection API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/device-registration-api/">
+ Device Registration API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/credentials-api/">
+ Credentials API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/authentication-api/">
+ Authentication API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+ <a href="/hono/docs/dev/api/metrics/">
+ Metrics
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/deployment/">
+ <i class="fas fa-shipping-fast"></i> Deployment
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+ <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+ Helm based Deployment
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+ <a href="/hono/docs/dev/deployment/openshift/">
+ OpenShift / OKD
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+ <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+ Setting up a Kubernetes Cluster
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+ <a href="/hono/docs/dev/deployment/resource-limitation/">
+ Limiting Resource Usage
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/architecture/">
+ <i class="fas fa-landmark"></i> Architecture
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+ <a href="/hono/docs/dev/architecture/component-view/component-view/">
+ Component View
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+ <a href="/hono/docs/dev/architecture/auth/auth/">
+ Authentication/Authorization
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+ </ul>
+
+
+
+
+
+ <section id="prefooter">
+ <hr/>
+ <ul>
+
+ <li>
+ <div id="select-box-wrapper">
+ <div id="select-box">
+ <a class="padding">
+ Version:
+ <div class="select-style">
+ <select id="select-language" onchange="location = this.value;">
+
+
+
+
+
+
+
+
+ <option id="stable" value="/hono/docs/dev-guide/">stable (1.0-M5)</option>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <option id="dev" value="/hono/docs/dev/dev-guide/" selected>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>© 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+ Documentation built with
+ <a href="https://www.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>dev</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/dev-guide/_index.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 class="links">
+
+
+
+
+
+
+
+
+
+ <a href='/hono/docs/dev/'>Documentation</a> > Developer Guide
+
+
+
+
+
+ </span>
+ </div>
+
+ </div>
+ </div>
+
+
+
+ <div id="chapter">
+
+ <div id="body-inner">
+
+
+
+
+
+
+
+<h1 id="developer-guide">Developer Guide</h1>
+
+<p>Learn how to integrate your custom components with Hono™.</p>
+
+
+<footer class=" footline" >
+
+</footer>
+
+
+ </div>
+
+ </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?1564044211"></script>
+ <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+ <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+ <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+ <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+ <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+ <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+ <script>hljs.initHighlightingOnLoad();</script>
+ <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+ <script src="/hono/docs/js/learn.js?1564044211"></script>
+ <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+ <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+ <script src="/hono/docs/mermaid/mermaid.js?1564044211"></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>
diff --git a/docs/dev/dev-guide/index.xml b/docs/dev/dev-guide/index.xml
new file mode 100644
index 0000000..c3a728b
--- /dev/null
+++ b/docs/dev/dev-guide/index.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+ <channel>
+ <title>Developer Guide on Eclipse Hono&trade; Vers.: dev</title>
+ <link>https://www.eclipse.org/hono/docs/dev/dev-guide/</link>
+ <description>Recent content in Developer Guide on Eclipse Hono&trade; Vers.: dev</description>
+ <generator>Hugo -- gohugo.io</generator>
+ <language>en-us</language>
+
+ <atom:link href="https://www.eclipse.org/hono/docs/dev/dev-guide/index.xml" rel="self" type="application/rss+xml" />
+
+
+ <item>
+ <title>Building from Source</title>
+ <link>https://www.eclipse.org/hono/docs/dev/dev-guide/building_hono/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://www.eclipse.org/hono/docs/dev/dev-guide/building_hono/</guid>
+ <description>Hono can be deployed using the pre-built Docker images available from our Docker Hub repositories. However, customizing and/or extending Hono&rsquo;s functionality requires building the images from source code.
+This page provides step by step instructions for getting the source code and building the Hono&rsquo;s Docker images from it.
+Prerequisites for building Hono Docker Creating Hono&rsquo;s container images using the Hono build process requires a Docker daemon running either locally or on another host you have access to.</description>
+ </item>
+
+ <item>
+ <title>Consuming Messages from Java</title>
+ <link>https://www.eclipse.org/hono/docs/dev/dev-guide/java_client_consumer/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://www.eclipse.org/hono/docs/dev/dev-guide/java_client_consumer/</guid>
+ <description>To illustrate how Eclipse Hono&trade; can be integrated with Java code, a simple application is provided that consumes telemetry and event data for devices belonging to the default tenant.
+It also includes support for Command and Control:
+if indicated by a received downstream message that contains a ttd value (refer to Device notifications for details) it tries to send a command to the device. If the value of ttd indicates that the device stays connected for an unlimited time (ttd == -1), the application will periodically repeat to send a command until notified the device is disconnected again (ttd == 0).</description>
+ </item>
+
+ <item>
+ <title>Implement a Custom Hono HTTP Protocol Adapter</title>
+ <link>https://www.eclipse.org/hono/docs/dev/dev-guide/custom_http_adapter/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://www.eclipse.org/hono/docs/dev/dev-guide/custom_http_adapter/</guid>
+ <description><p>Eclipse Hono&trade; comes with a default <em>HTTP Adapter</em> which can be used to interact with devices via HTTP.
+The default HTTP Adapter also serves as a blueprint for implementing a <em>custom</em> HTTP protocol adapter.</p></description>
+ </item>
+
+ </channel>
+</rss>
\ No newline at end of file
diff --git a/docs/dev/dev-guide/java_client_consumer/index.html b/docs/dev/dev-guide/java_client_consumer/index.html
new file mode 100644
index 0000000..41b8a4d
--- /dev/null
+++ b/docs/dev/dev-guide/java_client_consumer/index.html
@@ -0,0 +1,2266 @@
+<!DOCTYPE html>
+<html lang="dev" 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.54.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>Consuming Messages from Java :: Eclipse Hono™ Vers.: dev</title>
+
+
+ <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+ <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+
+ <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+
+
+ <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+ <style type="text/css">
+ :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">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Consuming Messages from Java :: Eclipse Hono&trade; Vers.: dev">
+<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="Consuming Messages from Java :: Eclipse Hono&trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/dev-guide/java_client_consumer//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+ </head>
+ <body class="" data-url="/hono/docs/dev/dev-guide/java_client_consumer/">
+ <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?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+
+ var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+
+ </div>
+
+ <div class="highlightable">
+ <ul class="topics">
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/concepts/">
+ <i class="far fa-lightbulb"></i> Concepts
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/device-identity/">
+ Device Identity
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/tenancy/">
+ Multi-Tenancy
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/device-notifications/">
+ Device Notifications
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command & Control" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/command-and-control/">
+ Command & Control
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/resource-limits/">
+ Resource limits
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+ <a href="/hono/docs/dev/concepts/connection-events/">
+ Connection Events
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/user-guide/">
+ <i class="fas fa-book-reader"></i> User Guide
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/device-registry/">
+ Device Registry
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/http-adapter/">
+ HTTP Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+ MQTT Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+ AMQP Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/kura-adapter/">
+ Kura Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+ Sigfox Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+ <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+ Load Tests with JMeter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/admin-guide/">
+ <i class="fas fa-sliders-h"></i> Admin Guide
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/common-config/">
+ Common Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+ Auth Server Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+ Device Registry Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+ HTTP Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+ AMQP Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+ MQTT Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+ Kura Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+ Hono Client Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+ AMQP 1.0 Messaging Network Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/secure_communication/">
+ Secure Communication
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring & Tracing" class="dd-item ">
+ <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+ Monitoring & Tracing
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item
+ parent
+
+
+ ">
+ <a href="/hono/docs/dev/dev-guide/">
+ <i class="fas fa-tools"></i> Developer Guide
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+ <a href="/hono/docs/dev/dev-guide/building_hono/">
+ Building from Source
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item active">
+ <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+ Consuming Messages from Java
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+ <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+ Implement a Custom Hono HTTP Protocol Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/api/">
+ <i class='fas fa-plug'></i> API
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/telemetry-api/">
+ Telemetry API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/event-api/">
+ Event API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command & Control API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/command-and-control-api/">
+ Command & Control API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/tenant-api/">
+ Tenant API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/device-connection-api/">
+ Device Connection API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/device-registration-api/">
+ Device Registration API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/credentials-api/">
+ Credentials API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+ <a href="/hono/docs/dev/api/authentication-api/">
+ Authentication API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+ <a href="/hono/docs/dev/api/metrics/">
+ Metrics
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/deployment/">
+ <i class="fas fa-shipping-fast"></i> Deployment
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+ <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+ Helm based Deployment
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+ <a href="/hono/docs/dev/deployment/openshift/">
+ OpenShift / OKD
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+ <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+ Setting up a Kubernetes Cluster
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+ <a href="/hono/docs/dev/deployment/resource-limitation/">
+ Limiting Resource Usage
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev/architecture/">
+ <i class="fas fa-landmark"></i> Architecture
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+ <a href="/hono/docs/dev/architecture/component-view/component-view/">
+ Component View
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+ <a href="/hono/docs/dev/architecture/auth/auth/">
+ Authentication/Authorization
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+ </ul>
+
+
+
+
+
+ <section id="prefooter">
+ <hr/>
+ <ul>
+
+ <li>
+ <div id="select-box-wrapper">
+ <div id="select-box">
+ <a class="padding">
+ Version:
+ <div class="select-style">
+ <select id="select-language" onchange="location = this.value;">
+
+
+
+
+
+
+
+
+ <option id="stable" value="/hono/docs/dev-guide/java_client_consumer/">stable (1.0-M5)</option>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <option id="dev" value="/hono/docs/dev/dev-guide/java_client_consumer/" selected>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>© 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+ Documentation built with
+ <a href="https://www.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>dev</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/dev-guide/java_client_consumer.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/dev/'>Documentation</a> > <a href='/hono/docs/dev/dev-guide/'>Developer Guide</a> > Consuming Messages from Java
+
+
+
+
+
+
+
+ </span>
+ </div>
+
+ <div class="progress">
+ <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#configure-the-example">Configure the example</a></li>
+<li><a href="#run-the-example">Run the example</a>
+<ul>
+<li><a href="#telemetry-and-event-messages">Telemetry and Event messages</a></li>
+<li><a href="#command-and-control">Command and Control</a></li>
+<li><a href="#encryption-of-communication">Encryption of communication</a></li>
+</ul></li>
+</ul></li>
+</ul>
+</nav>
+ </div>
+</div>
+
+
+ </div>
+ </div>
+
+
+
+ <div id="body-inner">
+
+ <h1>Consuming Messages from Java</h1>
+
+
+
+
+
+
+
+<p>To illustrate how Eclipse Hono™ can be integrated with Java code, a simple application is provided that consumes telemetry and event data
+for devices belonging to the default tenant.</p>
+
+<p>It also includes support for Command and Control:</p>
+
+<p>if indicated by a received downstream message that contains a <code>ttd</code> value (refer to <a href="/hono/docs/dev/concepts/device-notifications/">Device notifications</a> for details) it tries to send a command to the device.
+If the value of <code>ttd</code> indicates that the device stays connected for an unlimited time (<code>ttd == -1</code>), the application will periodically repeat to send a command until
+notified the device is disconnected again (<code>ttd == 0</code>).</p>
+
+<p>This application shall serve as a blueprint to integrate your existing java source code with Hono.
+Its code is found in the <a href="https://github.com/eclipse/hono/tree/master/example">example</a> module in the package <a href="https://github.com/eclipse/hono/tree/master/example/src/main/java/org/eclipse/hono/vertx/example">org.eclipse.hono.vertx.example</a>.</p>
+
+<p>The provided classes are kept as simple as possible (in the tradition of a classical “Hello World” implementation) while still
+covering the most relevant messaging patterns (downstream and upstream messages).
+For this purpose they make use of simple constant definitions and deal with exceptions as rarely as possible.
+You may want to change the level of detail that should be logged to the console by editing the contained <code>resources/logback.xml</code> file.</p>
+
+<p>Please refer to the javadoc of the classes for details.</p>
+
+<div class="alert alert-notice">
+ <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
+ <div>Note that production ready code likely has to think more about error handling and logging than this simple blueprint.</div>
+</div>
+
+
+<h2 id="configure-the-example">Configure the example</h2>
+
+<p>For simplicity, all configurations are defined as Java constants inside the class <a href="https://github.com/eclipse/hono/blob/master/example/src/main/java/org/eclipse/hono/vertx/example/base/HonoExampleConstants.java">HonoExampleConstants</a>.</p>
+
+<p>If you have Hono running in Docker under <code>localhost</code>, the example should work out of the box.</p>
+
+<p>Some configuration values can be overridden by providing them as property to the application.</p>
+
+<p>This includes the <code>host</code> and the <code>port</code> of the AMQP network.
+In the standard setup of Hono they should be configured to the <a href="https://qpid.apache.org/components/dispatch-router/index.html">qdrouter</a> from the Apache Qpid project.
+In production scenarios this might be a large setup of AMQP routers, brokers, etc.</p>
+
+<p>Please refer to the class <code>HonoExampleConstants</code> to find out which part of the application can be configured by properties.</p>
+
+<h2 id="run-the-example">Run the example</h2>
+
+<p>The application waits for messages until you press any key or kill it.</p>
+
+<p>It is started by</p>
+
+<pre><code># in directory: hono/example/
+mvn exec:java -Dexec.mainClass=org.eclipse.hono.vertx.example.HonoExampleApplication
+</code></pre>
+
+<p>or - if e.g. the host of the AMQP network should be changed -</p>
+
+<pre><code>mvn exec:java -Dexec.mainClass=org.eclipse.hono.vertx.example.HonoExampleApplication -Dconsumer.host=192.168.99.100
+</code></pre>
+
+<h3 id="telemetry-and-event-messages">Telemetry and Event messages</h3>
+
+<p>Depending on the logger configuration, all received downstream messages are printed to the console.</p>
+
+<p>Please note that consumers do not connect with Hono directly, but rather with an AMQP router network.</p>
+
+<h3 id="command-and-control">Command and Control</h3>
+
+<p>By using a helper class provided by Hono, a callback in the application code is invoked when a downstream message was received
+that signals the device will stay connected to the protocol adapter for some time (see <a href="/hono/docs/dev/concepts/device-notifications/">Device notifications</a> for details).</p>
+
+<p>Inside this callback an arbitrary simple command is sent down to the device (once or periodically) and the response is logged to the console.</p>
+
+<h3 id="encryption-of-communication">Encryption of communication</h3>
+
+<p>For the encrypted communication with Hono, the necessary truststore is already installed and used by the Hono client.</p>
+
+<p>If you want to integrate the code with your own software, please copy the provided truststore (<code>hono/demo-certs/certs/trusted-certs.pem</code>)
+from the Hono project to the <code>resources</code> directory of your project
+and adopt the code pointing to the file location.</p>
+
+
+<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?1564044211"></script>
+ <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+ <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+ <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+ <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+ <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+ <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+ <script>hljs.initHighlightingOnLoad();</script>
+ <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+ <script src="/hono/docs/js/learn.js?1564044211"></script>
+ <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+ <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+ <script src="/hono/docs/mermaid/mermaid.js?1564044211"></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>
+