blob: 5a131480a8c4cbf419765eb4e6fdd747a4fc744e [file] [log] [blame]
<!DOCTYPE html>
<html lang="1.6" class="js csstransforms3d">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Hugo 0.81.0" />
<meta name="description" content="A set of micro-services for connecting millions of devices.">
<meta name="author" content="The Eclipse Hono Project">
<link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
<title>Consuming Messages from Java :: Eclipse Hono&trade; Vers.: 1.6</title>
<link href="/hono/docs/css/nucleus.css?1626138722" rel="stylesheet">
<link href="/hono/docs/css/fontawesome-all.min.css?1626138722" rel="stylesheet">
<link href="/hono/docs/css/hybrid.css?1626138722" rel="stylesheet">
<link href="/hono/docs/css/featherlight.min.css?1626138722" rel="stylesheet">
<link href="/hono/docs/css/perfect-scrollbar.min.css?1626138722" rel="stylesheet">
<link href="/hono/docs/css/auto-complete.css?1626138722" rel="stylesheet">
<link href="/hono/docs/css/atom-one-dark-reasonable.css?1626138722" rel="stylesheet">
<link href="/hono/docs/css/theme.css?1626138722" rel="stylesheet">
<link href="/hono/docs/css/hugo-theme.css?1626138722" rel="stylesheet">
<link href="/hono/docs/css/theme-hono.css?1626138722" rel="stylesheet">
<link href="/hono/docs/css/hono.css?1626138722" rel="stylesheet">
<script src="/hono/docs/js/jquery-3.3.1.min.js?1626138722"></script>
<style>
:root #header + #content > #left > #rlblock_left{
display:none !important;
}
:not(pre) > code + span.copy-to-clipboard {
display: none;
}
</style>
<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@EclipseHono">
<meta name="twitter:title" content="Consuming Messages from Java :: Eclipse Hono&amp;trade; Vers.: 1.6">
<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&amp;trade; Vers.: 1.6" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://www.eclipse.org/hono/docs/1.6/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/1.6/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?1626138722"></script>
<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1626138722"></script>
<script type="text/javascript">
var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
</script>
<script type="text/javascript" src="/hono/docs/js/search.js?1626138722"></script>
</div>
<div class="highlightable">
<ul class="topics">
<li data-nav-id="/hono/docs/1.6/concepts/" title="Concepts" class="dd-item
">
<a href="/hono/docs/1.6/concepts/">
<i class="far fa-lightbulb"></i> Concepts
</a>
<ul>
<li data-nav-id="/hono/docs/1.6/concepts/device-identity/" title="Device Identity" class="dd-item ">
<a href="/hono/docs/1.6/concepts/device-identity/">
Device Identity
</a>
</li>
<li data-nav-id="/hono/docs/1.6/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
<a href="/hono/docs/1.6/concepts/tenancy/">
Multi-Tenancy
</a>
</li>
<li data-nav-id="/hono/docs/1.6/concepts/device-provisioning/" title="Device Provisioning" class="dd-item ">
<a href="/hono/docs/1.6/concepts/device-provisioning/">
Device Provisioning
</a>
</li>
<li data-nav-id="/hono/docs/1.6/concepts/connecting-devices/" title="Connecting Devices" class="dd-item ">
<a href="/hono/docs/1.6/concepts/connecting-devices/">
Connecting Devices
</a>
</li>
<li data-nav-id="/hono/docs/1.6/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
<a href="/hono/docs/1.6/concepts/device-notifications/">
Device Notifications
</a>
</li>
<li data-nav-id="/hono/docs/1.6/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
<a href="/hono/docs/1.6/concepts/command-and-control/">
Command &amp; Control
</a>
</li>
<li data-nav-id="/hono/docs/1.6/concepts/resource-limits/" title="Resource limits" class="dd-item ">
<a href="/hono/docs/1.6/concepts/resource-limits/">
Resource limits
</a>
</li>
<li data-nav-id="/hono/docs/1.6/concepts/connection-events/" title="Connection Events" class="dd-item ">
<a href="/hono/docs/1.6/concepts/connection-events/">
Connection Events
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.6/user-guide/" title="User Guide" class="dd-item
">
<a href="/hono/docs/1.6/user-guide/">
<i class="fas fa-book-reader"></i> User Guide
</a>
<ul>
<li data-nav-id="/hono/docs/1.6/user-guide/mongodb-based-device-registry/" title="MongoDB Based Device Registry" class="dd-item ">
<a href="/hono/docs/1.6/user-guide/mongodb-based-device-registry/">
MongoDB Based Device Registry
</a>
</li>
<li data-nav-id="/hono/docs/1.6/user-guide/jdbc-based-device-registry/" title="JDBC Based Device Registry" class="dd-item ">
<a href="/hono/docs/1.6/user-guide/jdbc-based-device-registry/">
JDBC Based Device Registry
</a>
</li>
<li data-nav-id="/hono/docs/1.6/user-guide/file-based-device-registry/" title="File Based Device Registry" class="dd-item ">
<a href="/hono/docs/1.6/user-guide/file-based-device-registry/">
File Based Device Registry
</a>
</li>
<li data-nav-id="/hono/docs/1.6/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
<a href="/hono/docs/1.6/user-guide/http-adapter/">
HTTP Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.6/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
<a href="/hono/docs/1.6/user-guide/mqtt-adapter/">
MQTT Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.6/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
<a href="/hono/docs/1.6/user-guide/amqp-adapter/">
AMQP Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.6/user-guide/coap-adapter/" title="CoAP Adapter" class="dd-item ">
<a href="/hono/docs/1.6/user-guide/coap-adapter/">
CoAP Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.6/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
<a href="/hono/docs/1.6/user-guide/kura-adapter/">
Kura Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.6/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
<a href="/hono/docs/1.6/user-guide/sigfox-adapter/">
Sigfox Adapter
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.6/admin-guide/" title="Admin Guide" class="dd-item
">
<a href="/hono/docs/1.6/admin-guide/">
<i class="fas fa-sliders-h"></i> Admin Guide
</a>
<ul>
<li data-nav-id="/hono/docs/1.6/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
<a href="/hono/docs/1.6/admin-guide/common-config/">
Common Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.6/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
<a href="/hono/docs/1.6/admin-guide/auth-server-config/">
Auth Server Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.6/admin-guide/mongodb-device-registry-config/" title="MongoDB Based Device Registry Configuration" class="dd-item ">
<a href="/hono/docs/1.6/admin-guide/mongodb-device-registry-config/">
MongoDB Based Device Registry Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.6/admin-guide/jdbc-device-registry-config/" title="JDBC Based Device Registry Configuration" class="dd-item ">
<a href="/hono/docs/1.6/admin-guide/jdbc-device-registry-config/">
JDBC Based Device Registry Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.6/admin-guide/file-based-device-registry-config/" title="File Based Device Registry Configuration" class="dd-item ">
<a href="/hono/docs/1.6/admin-guide/file-based-device-registry-config/">
File Based Device Registry Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.6/admin-guide/command-router-config/" title="Configuring the Command Router Service" class="dd-item ">
<a href="/hono/docs/1.6/admin-guide/command-router-config/">
Command Router Service Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.6/admin-guide/device-connection-config/" title="Configuring the Device Connection Service" class="dd-item ">
<a href="/hono/docs/1.6/admin-guide/device-connection-config/">
Device Connection Service Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.6/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
<a href="/hono/docs/1.6/admin-guide/http-adapter-config/">
HTTP Adapter Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.6/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
<a href="/hono/docs/1.6/admin-guide/mqtt-adapter-config/">
MQTT Adapter Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.6/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
<a href="/hono/docs/1.6/admin-guide/amqp-adapter-config/">
AMQP Adapter Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.6/admin-guide/coap-adapter-config/" title="CoAP Adapter Configuration" class="dd-item ">
<a href="/hono/docs/1.6/admin-guide/coap-adapter-config/">
CoAP Adapter Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.6/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
<a href="/hono/docs/1.6/admin-guide/kura-adapter-config/">
Kura Adapter Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.6/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
<a href="/hono/docs/1.6/admin-guide/hono-client-configuration/">
Hono Client Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.6/admin-guide/hono-kafka-client-configuration/" title="Hono Kafka Client Configuration" class="dd-item ">
<a href="/hono/docs/1.6/admin-guide/hono-kafka-client-configuration/">
Hono Kafka Client Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.6/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
<a href="/hono/docs/1.6/admin-guide/amqp-network-config/">
AMQP 1.0 Messaging Network Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.6/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
<a href="/hono/docs/1.6/admin-guide/secure_communication/">
Secure Communication
</a>
</li>
<li data-nav-id="/hono/docs/1.6/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
<a href="/hono/docs/1.6/admin-guide/monitoring-tracing-config/">
Monitoring &amp; Tracing
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.6/dev-guide/" title="Developer Guide" class="dd-item
parent
">
<a href="/hono/docs/1.6/dev-guide/">
<i class="fas fa-tools"></i> Developer Guide
</a>
<ul>
<li data-nav-id="/hono/docs/1.6/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
<a href="/hono/docs/1.6/dev-guide/building_hono/">
Building from Source
</a>
</li>
<li data-nav-id="/hono/docs/1.6/dev-guide/amqp_adapter_client/" title="AMQP Adapter Client for Java" class="dd-item ">
<a href="/hono/docs/1.6/dev-guide/amqp_adapter_client/">
AMQP Adapter Client for Java
</a>
</li>
<li data-nav-id="/hono/docs/1.6/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item active">
<a href="/hono/docs/1.6/dev-guide/java_client_consumer/">
Consuming Messages from Java
</a>
</li>
<li data-nav-id="/hono/docs/1.6/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
<a href="/hono/docs/1.6/dev-guide/custom_http_adapter/">
Implement a Custom Hono HTTP Protocol Adapter
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.6/api/" title="API" class="dd-item
">
<a href="/hono/docs/1.6/api/">
&nbsp;<i class='fas fa-plug'></i>&nbsp;API
</a>
<ul>
<li data-nav-id="/hono/docs/1.6/api/telemetry/" title="Telemetry API Specification" class="dd-item ">
<a href="/hono/docs/1.6/api/telemetry/">
Telemetry API
</a>
</li>
<li data-nav-id="/hono/docs/1.6/api/event/" title="Event API Specification" class="dd-item ">
<a href="/hono/docs/1.6/api/event/">
Event API
</a>
</li>
<li data-nav-id="/hono/docs/1.6/api/command-and-control/" title="Command &amp; Control API Specification" class="dd-item ">
<a href="/hono/docs/1.6/api/command-and-control/">
Command &amp; Control API
</a>
</li>
<li data-nav-id="/hono/docs/1.6/api/kafka-api/" title="Kafka-based APIs" class="dd-item ">
<a href="/hono/docs/1.6/api/kafka-api/">
Kafka-based APIs
</a>
</li>
<li data-nav-id="/hono/docs/1.6/api/telemetry-kafka/" title="Telemetry API for Kafka Specification" class="dd-item ">
<a href="/hono/docs/1.6/api/telemetry-kafka/">
Telemetry API for Kafka
</a>
</li>
<li data-nav-id="/hono/docs/1.6/api/event-kafka/" title="Event API for Kafka Specification" class="dd-item ">
<a href="/hono/docs/1.6/api/event-kafka/">
Event API for Kafka
</a>
</li>
<li data-nav-id="/hono/docs/1.6/api/tenant/" title="Tenant API Specification" class="dd-item ">
<a href="/hono/docs/1.6/api/tenant/">
Tenant API
</a>
</li>
<li data-nav-id="/hono/docs/1.6/api/command-router/" title="Command Router API Specification" class="dd-item ">
<a href="/hono/docs/1.6/api/command-router/">
Command Router API
</a>
</li>
<li data-nav-id="/hono/docs/1.6/api/device-connection/" title="Device Connection API Specification" class="dd-item ">
<a href="/hono/docs/1.6/api/device-connection/">
Device Connection API
</a>
</li>
<li data-nav-id="/hono/docs/1.6/api/device-registration/" title="Device Registration API Specification" class="dd-item ">
<a href="/hono/docs/1.6/api/device-registration/">
Device Registration API
</a>
</li>
<li data-nav-id="/hono/docs/1.6/api/credentials/" title="Credentials API Specification" class="dd-item ">
<a href="/hono/docs/1.6/api/credentials/">
Credentials API
</a>
</li>
<li data-nav-id="/hono/docs/1.6/api/authentication/" title="Authentication API Specification" class="dd-item ">
<a href="/hono/docs/1.6/api/authentication/">
Authentication API
</a>
</li>
<li data-nav-id="/hono/docs/1.6/api/management/" title="Device Registry Management API Specification" class="dd-item ">
<a href="/hono/docs/1.6/api/management/">
Device Registry Management API
</a>
</li>
<li data-nav-id="/hono/docs/1.6/api/metrics/" title="Metrics" class="dd-item ">
<a href="/hono/docs/1.6/api/metrics/">
Metrics
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.6/deployment/" title="Deployment" class="dd-item
">
<a href="/hono/docs/1.6/deployment/">
<i class="fas fa-shipping-fast"></i> Deployment
</a>
<ul>
<li data-nav-id="/hono/docs/1.6/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
<a href="/hono/docs/1.6/deployment/helm-based-deployment/">
Helm based Deployment
</a>
</li>
<li data-nav-id="/hono/docs/1.6/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
<a href="/hono/docs/1.6/deployment/openshift/">
OpenShift / OKD
</a>
</li>
<li data-nav-id="/hono/docs/1.6/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
<a href="/hono/docs/1.6/deployment/create-kubernetes-cluster/">
Setting up a Kubernetes Cluster
</a>
</li>
<li data-nav-id="/hono/docs/1.6/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
<a href="/hono/docs/1.6/deployment/resource-limitation/">
Limiting Resource Usage
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.6/architecture/" title="Architecture" class="dd-item
">
<a href="/hono/docs/1.6/architecture/">
<i class="fas fa-landmark"></i> Architecture
</a>
<ul>
<li data-nav-id="/hono/docs/1.6/architecture/component-view/" title="Component View" class="dd-item ">
<a href="/hono/docs/1.6/architecture/component-view/">
Component View
</a>
</li>
<li data-nav-id="/hono/docs/1.6/architecture/auth/" title="Authentication/Authorization" class="dd-item ">
<a href="/hono/docs/1.6/architecture/auth/">
Authentication/Authorization
</a>
</li>
</ul>
</li>
</ul>
<section id="shortcuts">
<h3></h3>
<ul>
<li>
<a class="padding" href="https://www.eclipse.org/hono/" title="Hono&#39;s Homepage"><i class='fas fa-home'></i> Hono Home</a>
</li>
<li>
<a class="padding" href="https://www.eclipse.org/hono/getting-started/" title="Getting started with Eclipse Hono"><i class='fas fa-plane-departure'></i> Getting Started</a>
</li>
</ul>
</section>
<section id="prefooter">
<hr/>
<ul>
<li>
<div id="select-box-wrapper">
<div id="select-box">
<a class="padding">
Version:&nbsp;
<div class="select-style">
<select id="select-language" onchange="location = this.value;">
<option id="stable" value="https://www.eclipse.org/hono/docs/dev-guide/java_client_consumer/">stable (1.8)</option>
<option id="1.8" value="https://www.eclipse.org/hono/docs/1.8/dev-guide/java_client_consumer/">1.8</option>
<option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/dev-guide/java_client_consumer/">1.7</option>
<option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/dev-guide/java_client_consumer/" selected>1.6</option>
<option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/dev-guide/java_client_consumer/">1.5</option>
<option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/dev-guide/java_client_consumer/">1.4</option>
<option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/dev-guide/java_client_consumer/">1.3</option>
<option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/dev-guide/java_client_consumer/">1.2</option>
<option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/dev-guide/java_client_consumer/">1.1</option>
<option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/dev-guide/java_client_consumer/">1.0</option>
<option id="dev" value="https://www.eclipse.org/hono/docs/dev/dev-guide/java_client_consumer/">dev</option>
</select>
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
<g>
<g id="arrow-drop-down">
<polygon points="0,63.75 127.5,191.25 255,63.75 " />
</g>
</g>
</svg>
</div>
</a>
</div>
</div>
</li>
</ul>
</section>
<section id="footer">
<p>&copy; 2021 <a href="https://www.eclipse.org/hono/">The Eclipse Hono Project</a></p>
<p>
Documentation built with
<a href="https://gohugo.io/" target="_blank">Hugo</a>
using the
<a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
</p>
<div class="eclipse-logo">
<a href="https://www.eclipse.org" target="_blank">
<img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
</a>
</div>
</section>
</div>
</nav>
<section id="body">
<div id="overlay"></div>
<div class="old-version-hint">
<p>This page refers to version <em>1.6</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/1.6/'>Documentation</a> > <a href='/hono/docs/1.6/dev-guide/'>Developer Guide</a> > Consuming Messages from Java
</span>
</div>
<div class="progress">
<div class="wrapper">
<nav id="TableOfContents">
<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>
</nav>
</div>
</div>
</div>
</div>
<div id="head-tags">
</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/1.6/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/examples">example</a> module in the package <a href="https://github.com/eclipse/hono/tree/master/examples/hono-client-examples/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 &ldquo;Hello World&rdquo; 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/examples/hono-client-examples/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>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># in directory: hono/examples/</span>
mvn exec:java -Dexec.mainClass<span style="color:#f92672">=</span>org.eclipse.hono.vertx.example.HonoExampleApplication
</code></pre></div><p>or &mdash; if e.g. the host of the AMQP network should be changed &mdash;</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">mvn exec:java -Dexec.mainClass<span style="color:#f92672">=</span>org.eclipse.hono.vertx.example.HonoExampleApplication -Dconsumer.host<span style="color:#f92672">=</span>192.168.99.100
</code></pre></div><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/1.6/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?1626138723"></script>
<script src="/hono/docs/js/perfect-scrollbar.min.js?1626138723"></script>
<script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1626138723"></script>
<script src="/hono/docs/js/jquery.sticky.js?1626138723"></script>
<script src="/hono/docs/js/featherlight.min.js?1626138723"></script>
<script src="/hono/docs/js/highlight.pack.js?1626138723"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="/hono/docs/js/modernizr.custom-3.6.0.js?1626138723"></script>
<script src="/hono/docs/js/learn.js?1626138723"></script>
<script src="/hono/docs/js/hugo-learn.js?1626138723"></script>
<link href="/hono/docs/mermaid/mermaid.css?1626138723" rel="stylesheet" />
<script src="/hono/docs/mermaid/mermaid.js?1626138723"></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>