blob: 489daeb887f9557e989dbc73ef4b018f47e6c7bf [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="" >
<head>
<title>VertX Integration ยท ActiveMQ Artemis Documentation</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta name="description" content="">
<meta name="generator" content="GitBook 3.1.1">
<link rel="stylesheet" href="gitbook/style.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
<meta name="HandheldFriendly" content="true"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
<link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
<link rel="next" href="intercepting-operations.html" />
<link rel="prev" href="aerogear-integration.html" />
</head>
<body>
<div class="book">
<div class="book-summary">
<div id="book-search-input" role="search">
<input type="text" placeholder="Type to search" />
</div>
<nav role="navigation">
<ul class="summary">
<li class="chapter " data-level="1.1" data-path="./">
<a href="./">
Introduction
</a>
</li>
<li class="chapter " data-level="1.2" data-path="notice.html">
<a href="notice.html">
Legal Notice
</a>
</li>
<li class="chapter " data-level="1.3" data-path="preface.html">
<a href="preface.html">
Preface
</a>
</li>
<li class="chapter " data-level="1.4" data-path="project-info.html">
<a href="project-info.html">
Project Info
</a>
</li>
<li class="chapter " data-level="1.5" data-path="messaging-concepts.html">
<a href="messaging-concepts.html">
Messaging Concepts
</a>
</li>
<li class="chapter " data-level="1.6" data-path="architecture.html">
<a href="architecture.html">
Architecture
</a>
</li>
<li class="chapter " data-level="1.7" data-path="using-server.html">
<a href="using-server.html">
Using the Server
</a>
</li>
<li class="chapter " data-level="1.8" data-path="using-jms.html">
<a href="using-jms.html">
Using JMS
</a>
</li>
<li class="chapter " data-level="1.9" data-path="using-core.html">
<a href="using-core.html">
Using Core
</a>
</li>
<li class="chapter " data-level="1.10" data-path="jms-core-mapping.html">
<a href="jms-core-mapping.html">
Mapping JMS Concepts to the Core API
</a>
</li>
<li class="chapter " data-level="1.11" data-path="client-classpath.html">
<a href="client-classpath.html">
The Client Classpath
</a>
</li>
<li class="chapter " data-level="1.12" data-path="examples.html">
<a href="examples.html">
Examples
</a>
</li>
<li class="chapter " data-level="1.13" data-path="wildcard-routing.html">
<a href="wildcard-routing.html">
Routing Messages With Wild Cards
</a>
</li>
<li class="chapter " data-level="1.14" data-path="wildcard-syntax.html">
<a href="wildcard-syntax.html">
Understanding the Apache ActiveMQ Artemis Wildcard Syntax
</a>
</li>
<li class="chapter " data-level="1.15" data-path="filter-expressions.html">
<a href="filter-expressions.html">
Filter Expressions
</a>
</li>
<li class="chapter " data-level="1.16" data-path="persistence.html">
<a href="persistence.html">
Persistence
</a>
</li>
<li class="chapter " data-level="1.17" data-path="configuring-transports.html">
<a href="configuring-transports.html">
Configuring Transports
</a>
</li>
<li class="chapter " data-level="1.18" data-path="config-reload.html">
<a href="config-reload.html">
Configuration Reload
</a>
</li>
<li class="chapter " data-level="1.19" data-path="connection-ttl.html">
<a href="connection-ttl.html">
Detecting Dead Connections
</a>
</li>
<li class="chapter " data-level="1.20" data-path="slow-consumers.html">
<a href="slow-consumers.html">
Detecting Slow Consumers
</a>
</li>
<li class="chapter " data-level="1.21" data-path="transaction-config.html">
<a href="transaction-config.html">
Resource Manager Configuration
</a>
</li>
<li class="chapter " data-level="1.22" data-path="flow-control.html">
<a href="flow-control.html">
Flow Control
</a>
</li>
<li class="chapter " data-level="1.23" data-path="send-guarantees.html">
<a href="send-guarantees.html">
Guarantees of sends and commits
</a>
</li>
<li class="chapter " data-level="1.24" data-path="undelivered-messages.html">
<a href="undelivered-messages.html">
Message Redelivery and Undelivered Messages
</a>
</li>
<li class="chapter " data-level="1.25" data-path="message-expiry.html">
<a href="message-expiry.html">
Message Expiry
</a>
</li>
<li class="chapter " data-level="1.26" data-path="large-messages.html">
<a href="large-messages.html">
Large Messages
</a>
</li>
<li class="chapter " data-level="1.27" data-path="paging.html">
<a href="paging.html">
Paging
</a>
</li>
<li class="chapter " data-level="1.28" data-path="queue-attributes.html">
<a href="queue-attributes.html">
Queue Attributes
</a>
</li>
<li class="chapter " data-level="1.29" data-path="scheduled-messages.html">
<a href="scheduled-messages.html">
Scheduled Messages
</a>
</li>
<li class="chapter " data-level="1.30" data-path="last-value-queues.html">
<a href="last-value-queues.html">
Last-Value Queues
</a>
</li>
<li class="chapter " data-level="1.31" data-path="message-grouping.html">
<a href="message-grouping.html">
Message Grouping
</a>
</li>
<li class="chapter " data-level="1.32" data-path="pre-acknowledge.html">
<a href="pre-acknowledge.html">
Extra Acknowledge Modes
</a>
</li>
<li class="chapter " data-level="1.33" data-path="management.html">
<a href="management.html">
Management
</a>
</li>
<li class="chapter " data-level="1.34" data-path="security.html">
<a href="security.html">
Security
</a>
</li>
<li class="chapter " data-level="1.35" data-path="resource-limits.html">
<a href="resource-limits.html">
Resource Limits
</a>
</li>
<li class="chapter " data-level="1.36" data-path="jms-bridge.html">
<a href="jms-bridge.html">
The JMS Bridge
</a>
</li>
<li class="chapter " data-level="1.37" data-path="client-reconnection.html">
<a href="client-reconnection.html">
Client Reconnection and Session Reattachment
</a>
</li>
<li class="chapter " data-level="1.38" data-path="diverts.html">
<a href="diverts.html">
Diverting and Splitting Message Flows
</a>
</li>
<li class="chapter " data-level="1.39" data-path="core-bridges.html">
<a href="core-bridges.html">
Core Bridges
</a>
</li>
<li class="chapter " data-level="1.40" data-path="duplicate-detection.html">
<a href="duplicate-detection.html">
Duplicate Message Detection
</a>
</li>
<li class="chapter " data-level="1.41" data-path="clusters.html">
<a href="clusters.html">
Clusters
</a>
</li>
<li class="chapter " data-level="1.42" data-path="ha.html">
<a href="ha.html">
High Availability and Failover
</a>
</li>
<li class="chapter " data-level="1.43" data-path="graceful-shutdown.html">
<a href="graceful-shutdown.html">
Graceful Server Shutdown
</a>
</li>
<li class="chapter " data-level="1.44" data-path="libaio.html">
<a href="libaio.html">
Libaio Native Libraries
</a>
</li>
<li class="chapter " data-level="1.45" data-path="thread-pooling.html">
<a href="thread-pooling.html">
Thread management
</a>
</li>
<li class="chapter " data-level="1.46" data-path="logging.html">
<a href="logging.html">
Logging
</a>
</li>
<li class="chapter " data-level="1.47" data-path="rest.html">
<a href="rest.html">
REST Interface
</a>
</li>
<li class="chapter " data-level="1.48" data-path="embedding-activemq.html">
<a href="embedding-activemq.html">
Embedding Apache ActiveMQ Artemis
</a>
</li>
<li class="chapter " data-level="1.49" data-path="karaf.html">
<a href="karaf.html">
Apache Karaf
</a>
</li>
<li class="chapter " data-level="1.50" data-path="spring-integration.html">
<a href="spring-integration.html">
Spring Integration
</a>
</li>
<li class="chapter " data-level="1.51" data-path="aerogear-integration.html">
<a href="aerogear-integration.html">
AeroGear Integration
</a>
</li>
<li class="chapter active" data-level="1.52" data-path="vertx-integration.html">
<a href="vertx-integration.html">
VertX Integration
</a>
</li>
<li class="chapter " data-level="1.53" data-path="intercepting-operations.html">
<a href="intercepting-operations.html">
Intercepting Operations
</a>
</li>
<li class="chapter " data-level="1.54" data-path="protocols-interoperability.html">
<a href="protocols-interoperability.html">
Protocols and Interoperability
</a>
</li>
<li class="chapter " data-level="1.55" data-path="tools.html">
<a href="tools.html">
Tools
</a>
</li>
<li class="chapter " data-level="1.56" data-path="maven-plugin.html">
<a href="maven-plugin.html">
Maven Plugin
</a>
</li>
<li class="chapter " data-level="1.57" data-path="perf-tuning.html">
<a href="perf-tuning.html">
Troubleshooting and Performance Tuning
</a>
</li>
<li class="chapter " data-level="1.58" data-path="configuration-index.html">
<a href="configuration-index.html">
Configuration Reference
</a>
</li>
<li class="divider"></li>
<li>
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
Published with GitBook
</a>
</li>
</ul>
</nav>
</div>
<div class="book-body">
<div class="body-inner">
<div class="book-header" role="navigation">
<!-- Title -->
<h1>
<i class="fa fa-circle-o-notch fa-spin"></i>
<a href="." >VertX Integration</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<div id="book-search-results">
<div class="search-noresults">
<section class="normal markdown-section">
<h1 id="vertx-integration">Vert.x Integration</h1>
<p><a href="http://vertx.io/" target="_blank">Vert.x</a> is a lightweight, high performance
application platform for the JVM that&apos;s designed for modern mobile, web,
and enterprise applications. Vert.x provides a distributed event bus
that allows messages to be sent across vert.x instances and clients. You
can now redirect and persist any vert.x messages to Apache ActiveMQ Artemis and route
those messages to a specified vertx address by configuring Apache ActiveMQ Artemis
vertx incoming and outgoing vertx connector services.</p>
<h2 id="configuring-a-vertx-incoming-connector-service">Configuring a Vertx Incoming Connector Service</h2>
<p>Vertx Incoming Connector services receive messages from vertx event bus
and route them to an Apache ActiveMQ Artemis queue. Such a service can be configured as
follows:</p>
<pre><code>&lt;connector-service name=&quot;vertx-incoming-connector&quot;&gt;
&lt;factory-class&gt;org.apache.activemq.integration.vertx.VertxIncomingConnectorServiceFactory&lt;/factory-class&gt;
&lt;param key=&quot;host&quot; value=&quot;127.0.0.1&quot;/&gt;
&lt;param key=&quot;port&quot; value=&quot;0&quot;/&gt;
&lt;param key=&quot;queue&quot; value=&quot;jms.queue.vertxQueue&quot;/&gt;
&lt;param key=&quot;vertx-address&quot; value=&quot;vertx.in.eventaddress&quot;/&gt;
&lt;/connector-service&gt;
</code></pre><p>Shown are the required params for the connector service:</p>
<ul>
<li><code>queue</code>. The name of the Apache ActiveMQ Artemis queue to send message to.</li>
</ul>
<p>As well as these required parameters there are the following optional
parameters</p>
<ul>
<li><p><code>host</code>. The host name on which the vertx target container is
running. Default is localhost.</p>
</li>
<li><p><code>port</code>. The port number to which the target vertx listens. Default
is zero.</p>
</li>
<li><p><code>quorum-size</code>. The quorum size of the target vertx instance.</p>
</li>
<li><p><code>ha-group</code>. The name of the ha-group of target vertx instance.
Default is <code>activemq</code>.</p>
</li>
<li><p><code>vertx-address</code>. The vertx address to listen to. default is
<code>org.apache.activemq</code>.</p>
</li>
</ul>
<h2 id="configuring-a-vertx-outgoing-connector-service">Configuring a Vertx Outgoing Connector Service</h2>
<p>Vertx Outgoing Connector services fetch vertx messages from a ActiveMQ
queue and put them to vertx event bus. Such a service can be configured
as follows:</p>
<pre><code>&lt;connector-service name=&quot;vertx-outgoing-connector&quot;&gt;
&lt;factory-class&gt;org.apache.activemq.integration.vertx.VertxOutgoingConnectorServiceFactory&lt;/factory-class&gt;
&lt;param key=&quot;host&quot; value=&quot;127.0.0.1&quot;/&gt;
&lt;param key=&quot;port&quot; value=&quot;0&quot;/&gt;
&lt;param key=&quot;queue&quot; value=&quot;jms.queue.vertxQueue&quot;/&gt;
&lt;param key=&quot;vertx-address&quot; value=&quot;vertx.out.eventaddress&quot;/&gt;
&lt;param key=&quot;publish&quot; value=&quot;true&quot;/&gt;
&lt;/connector-service&gt;
</code></pre><p>Shown are the required params for the connector service:</p>
<ul>
<li><code>queue</code>. The name of the Apache ActiveMQ Artemis queue to fetch message from.</li>
</ul>
<p>As well as these required parameters there are the following optional
parameters</p>
<ul>
<li><p><code>host</code>. The host name on which the vertx target container is
running. Default is localhost.</p>
</li>
<li><p><code>port</code>. The port number to which the target vertx listens. Default
is zero.</p>
</li>
<li><p><code>quorum-size</code>. The quorum size of the target vertx instance.</p>
</li>
<li><p><code>ha-group</code>. The name of the ha-group of target vertx instance.
Default is <code>activemq</code>.</p>
</li>
<li><p><code>vertx-address</code>. The vertx address to put messages to. default is
org.apache.activemq.</p>
</li>
<li><p><code>publish</code>. How messages is sent to vertx event bus. &quot;true&quot; means
using publish style. &quot;false&quot; means using send style. Default is
false.</p>
</li>
</ul>
</section>
</div>
<div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
<ul class="search-results-list"></ul>
</div>
<div class="no-results">
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
</div>
</div>
</div>
</div>
</div>
</div>
<a href="aerogear-integration.html" class="navigation navigation-prev " aria-label="Previous page: AeroGear Integration">
<i class="fa fa-angle-left"></i>
</a>
<a href="intercepting-operations.html" class="navigation navigation-next " aria-label="Next page: Intercepting Operations">
<i class="fa fa-angle-right"></i>
</a>
</div>
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"VertX Integration","level":"1.52","depth":1,"next":{"title":"Intercepting Operations","level":"1.53","depth":1,"path":"intercepting-operations.md","ref":"intercepting-operations.md","articles":[]},"previous":{"title":"AeroGear Integration","level":"1.51","depth":1,"path":"aerogear-integration.md","ref":"aerogear-integration.md","articles":[]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"github":"apache/activemq-artemis","theme":"default","githubHost":"https://github.com/","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"ActiveMQ Artemis Documentation","links":{"home":"http://activemq.apache.org/","issues":"http://activemq.apache.org/","contribute":"http://activemq.apache.org/contributing.html"},"gitbook":"3.x.x","description":"ActiveMQ Artemis User Guide and Reference Documentation"},"file":{"path":"vertx-integration.md","mtime":"2016-09-06T16:03:43.000Z","type":"markdown"},"gitbook":{"version":"3.1.1","time":"2016-09-06T18:49:42.335Z"},"basePath":".","book":{"language":""}});
});
</script>
</div>
<script src="gitbook/gitbook.js"></script>
<script src="gitbook/theme.js"></script>
<script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
<script src="gitbook/gitbook-plugin-search/search.js"></script>
<script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
<script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
<script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
<script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
</body>
</html>