You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jo...@apache.org on 2017/03/12 16:08:19 UTC

svn commit: r1008195 [26/46] - in /websites/production/activemq/content/artemis/docs/1.5.4: ./ diagrams/ gitbook/ gitbook/fonts/ gitbook/fonts/fontawesome/ gitbook/gitbook-plugin-fontsettings/ gitbook/gitbook-plugin-highlight/ gitbook/gitbook-plugin-lu...

Added: websites/production/activemq/content/artemis/docs/1.5.4/jms-bridge.html
==============================================================================
--- websites/production/activemq/content/artemis/docs/1.5.4/jms-bridge.html (added)
+++ websites/production/activemq/content/artemis/docs/1.5.4/jms-bridge.html Sun Mar 12 16:08:18 2017
@@ -0,0 +1,1252 @@
+
+<!DOCTYPE HTML>
+<html lang="" >
+    <head>
+        <title>The JMS Bridge · 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="client-reconnection.html" />
+    
+    
+    <link rel="prev" href="resource-limits.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 active" 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 " 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="cdi-integration.html">
+            
+                <a href="cdi-integration.html">
+            
+                    
+                    CDI Integration
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.54" data-path="intercepting-operations.html">
+            
+                <a href="intercepting-operations.html">
+            
+                    
+                    Intercepting Operations
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.55" data-path="protocols-interoperability.html">
+            
+                <a href="protocols-interoperability.html">
+            
+                    
+                    Protocols and Interoperability
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.56" data-path="tools.html">
+            
+                <a href="tools.html">
+            
+                    
+                    Tools
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.57" data-path="maven-plugin.html">
+            
+                <a href="maven-plugin.html">
+            
+                    
+                    Maven Plugin
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.58" data-path="unit-testing.html">
+            
+                <a href="unit-testing.html">
+            
+                    
+                    Unit Testing
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.59" data-path="perf-tuning.html">
+            
+                <a href="perf-tuning.html">
+            
+                    
+                    Troubleshooting and Performance Tuning
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.60" 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="." >The JMS Bridge</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="the-jms-bridge">The JMS Bridge</h1>
+<p>Apache ActiveMQ Artemis includes a fully functional JMS message bridge.</p>
+<p>The function of the bridge is to consume messages from a source queue or
+topic, and send them to a target queue or topic, typically on a
+different server.</p>
+<blockquote>
+<p><em>Notice:</em>
+The JMS Bridge is not intended as a replacement for transformation and more expert systems such as Camel.
+The JMS Bridge may be useful for fast transfers as this chapter covers, but keep in mind that more complex scenarios requiring transformations will require you to use a more advanced transformation system that will play on use cases that will go beyond Apache ActiveMQ Artemis.</p>
+</blockquote>
+<p>The source and target servers do not have to be in the same cluster
+which makes bridging suitable for reliably sending messages from one
+cluster to another, for instance across a WAN, and where the connection
+may be unreliable.</p>
+<p>A bridge can be deployed as a standalone application, with Apache ActiveMQ Artemis
+standalone server or inside a JBoss AS instance. The source and the
+target can be located in the same virtual machine or another one.</p>
+<p>The bridge can also be used to bridge messages from other non Apache ActiveMQ Artemis
+JMS servers, as long as they are JMS 1.1 compliant.</p>
+<blockquote>
+<p><strong>Note</strong></p>
+<p>Do not confuse a JMS bridge with a core bridge. A JMS bridge can be
+used to bridge any two JMS 1.1 compliant JMS providers and uses the
+JMS API. A core bridge (described in <a href="core-bridges.html">Core Bridges</a>) is used to bridge any two
+Apache ActiveMQ Artemis instances and uses the core API. Always use a core bridge if
+you can in preference to a JMS bridge. The core bridge will typically
+provide better performance than a JMS bridge. Also the core bridge can
+provide <em>once and only once</em> delivery guarantees without using XA.</p>
+</blockquote>
+<p>The bridge has built-in resilience to failure so if the source or target
+server connection is lost, e.g. due to network failure, the bridge will
+retry connecting to the source and/or target until they come back
+online. When it comes back online it will resume operation as normal.</p>
+<p>The bridge can be configured with an optional JMS selector, so it will
+only consume messages matching that JMS selector</p>
+<p>It can be configured to consume from a queue or a topic. When it
+consumes from a topic it can be configured to consume using a non
+durable or durable subscription</p>
+<p>Typically, the bridge is deployed by the JBoss Micro Container via a
+beans configuration file. This would typically be deployed inside the
+JBoss Application Server and the following example shows an example of a
+beans file that bridges 2 destinations which are actually on the same
+server.</p>
+<p>The JMS Bridge is a simple POJO so can be deployed with most frameworks,
+simply instantiate the <code>org.apache.activemq.artemis.api.jms.bridge.impl.JMSBridgeImpl</code>
+class and set the appropriate parameters.</p>
+<h2 id="jms-bridge-parameters">JMS Bridge Parameters</h2>
+<p>The main bean deployed is the <code>JMSBridge</code> bean. The bean is configurable
+by the parameters passed to its constructor.</p>
+<blockquote>
+<p><strong>Note</strong></p>
+<p>To let a parameter be unspecified (for example, if the authentication
+is anonymous or no message selector is provided), use <code>&lt;null
+                        /&gt;</code> for the unspecified parameter value.</p>
+</blockquote>
+<ul>
+<li><p>Source Connection Factory Factory</p>
+<p>This injects the <code>SourceCFF</code> bean (also defined in the beans file).
+This bean is used to create the <em>source</em> <code>ConnectionFactory</code></p>
+</li>
+<li><p>Target Connection Factory Factory</p>
+<p>This injects the <code>TargetCFF</code> bean (also defined in the beans file).
+This bean is used to create the <em>target</em> <code>ConnectionFactory</code></p>
+</li>
+<li><p>Source Destination Factory Factory</p>
+<p>This injects the <code>SourceDestinationFactory</code> bean (also defined in
+the beans file). This bean is used to create the <em>source</em>
+<code>Destination</code></p>
+</li>
+<li><p>Target Destination Factory Factory</p>
+<p>This injects the <code>TargetDestinationFactory</code> bean (also defined in
+the beans file). This bean is used to create the <em>target</em>
+<code>Destination</code></p>
+</li>
+<li><p>Source User Name</p>
+<p>this parameter is the username for creating the <em>source</em> connection</p>
+</li>
+<li><p>Source Password</p>
+<p>this parameter is the parameter for creating the <em>source</em> connection</p>
+</li>
+<li><p>Target User Name</p>
+<p>this parameter is the username for creating the <em>target</em> connection</p>
+</li>
+<li><p>Target Password</p>
+<p>this parameter is the password for creating the <em>target</em> connection</p>
+</li>
+<li><p>Selector</p>
+<p>This represents a JMS selector expression used for consuming
+messages from the source destination. Only messages that match the
+selector expression will be bridged from the source to the target
+destination</p>
+<p>The selector expression must follow the <a href="http://docs.oracle.com/javaee/6/api/javax/jms/Message.html" target="_blank">JMS selector
+syntax</a></p>
+</li>
+<li><p>Failure Retry Interval</p>
+<p>This represents the amount of time in ms to wait between trying to
+recreate connections to the source or target servers when the bridge
+has detected they have failed</p>
+</li>
+<li><p>Max Retries</p>
+<p>This represents the number of times to attempt to recreate
+connections to the source or target servers when the bridge has
+detected they have failed. The bridge will give up after trying this
+number of times. <code>-1</code> represents &apos;try forever&apos;</p>
+</li>
+<li><p>Quality Of Service</p>
+<p>This parameter represents the desired quality of service mode</p>
+<p>Possible values are:</p>
+<ul>
+<li><p><code>AT_MOST_ONCE</code></p>
+</li>
+<li><p><code>DUPLICATES_OK</code></p>
+</li>
+<li><p><code>ONCE_AND_ONLY_ONCE</code></p>
+</li>
+</ul>
+<p>See Quality Of Service section for a explanation of these modes.</p>
+</li>
+<li><p>Max Batch Size</p>
+<p>This represents the maximum number of messages to consume from the
+source destination before sending them in a batch to the target
+destination. Its value must <code>&gt;= 1</code></p>
+</li>
+<li><p>Max Batch Time</p>
+<p>This represents the maximum number of milliseconds to wait before
+sending a batch to target, even if the number of messages consumed
+has not reached <code>MaxBatchSize</code>. Its value must be <code>-1</code> to represent
+&apos;wait forever&apos;, or <code>&gt;= 1</code> to specify an actual time</p>
+</li>
+<li><p>Subscription Name</p>
+<p>If the source destination represents a topic, and you want to
+consume from the topic using a durable subscription then this
+parameter represents the durable subscription name</p>
+</li>
+<li><p>Client ID</p>
+<p>If the source destination represents a topic, and you want to
+consume from the topic using a durable subscription then this
+attribute represents the the JMS client ID to use when
+creating/looking up the durable subscription</p>
+</li>
+<li><p>Add MessageID In Header</p>
+<p>If <code>true</code>, then the original message&apos;s message ID will be appended
+in the message sent to the destination in the header
+<code>ACTIVEMQ_BRIDGE_MSG_ID_LIST</code>. If the message is bridged more than
+once, each message ID will be appended. This enables a distributed
+request-response pattern to be used</p>
+<blockquote>
+<p><strong>Note</strong></p>
+<p>when you receive the message you can send back a response using
+the correlation id of the first message id, so when the original
+sender gets it back it will be able to correlate it.</p>
+</blockquote>
+</li>
+<li><p>MBean Server</p>
+<p>To manage the JMS Bridge using JMX, set the MBeanServer where the
+JMS Bridge MBean must be registered (e.g. the JVM Platform
+MBeanServer or JBoss AS MBeanServer)</p>
+</li>
+<li><p>ObjectName</p>
+<p>If you set the MBeanServer, you also need to set the ObjectName used
+to register the JMS Bridge MBean (must be unique)</p>
+</li>
+</ul>
+<p>The &quot;transactionManager&quot; property points to a JTA transaction manager
+implementation and should be set if you need to use the &apos;ONCE_AND_ONCE_ONLY&apos;
+Quality of Service. Apache ActiveMQ Artemis doesn&apos;t ship with such an implementation, but
+if you are running within an Application Server you can inject the Transaction
+Manager that is shipped.</p>
+<h2 id="source-and-target-connection-factories">Source and Target Connection Factories</h2>
+<p>The source and target connection factory factories are used to create
+the connection factory used to create the connection for the source or
+target server.</p>
+<p>The configuration example above uses the default implementation provided
+by Apache ActiveMQ Artemis that looks up the connection factory using JNDI. For other
+Application Servers or JMS providers a new implementation may have to be
+provided. This can easily be done by implementing the interface
+<code>org.apache.activemq.artemis.jms.bridge.ConnectionFactoryFactory</code>.</p>
+<h2 id="source-and-target-destination-factories">Source and Target Destination Factories</h2>
+<p>Again, similarly, these are used to create or lookup up the
+destinations.</p>
+<p>In the configuration example above, we have used the default provided by
+Apache ActiveMQ Artemis that looks up the destination using JNDI.</p>
+<p>A new implementation can be provided by implementing
+<code>org.apache.activemq.artemis.jms.bridge.DestinationFactory</code> interface.</p>
+<h2 id="quality-of-service">Quality Of Service</h2>
+<p>The quality of service modes used by the bridge are described here in
+more detail.</p>
+<h3 id="atmostonce">AT_MOST_ONCE</h3>
+<p>With this QoS mode messages will reach the destination from the source
+at most once. The messages are consumed from the source and acknowledged
+before sending to the destination. Therefore there is a possibility that
+if failure occurs between removing them from the source and them
+arriving at the destination they could be lost. Hence delivery will
+occur at most once.</p>
+<p>This mode is available for both durable and non-durable messages.</p>
+<h3 id="duplicatesok">DUPLICATES_OK</h3>
+<p>With this QoS mode, the messages are consumed from the source and then
+acknowledged after they have been successfully sent to the destination.
+Therefore there is a possibility that if failure occurs after sending to
+the destination but before acknowledging them, they could be sent again
+when the system recovers. I.e. the destination might receive duplicates
+after a failure.</p>
+<p>This mode is available for both durable and non-durable messages.</p>
+<h3 id="onceandonlyonce">ONCE_AND_ONLY_ONCE</h3>
+<p>This QoS mode ensures messages will reach the destination from the
+source once and only once. (Sometimes this mode is known as &quot;exactly
+once&quot;). If both the source and the destination are on the same Apache ActiveMQ Artemis
+server instance then this can be achieved by sending and acknowledging
+the messages in the same local transaction. If the source and
+destination are on different servers this is achieved by enlisting the
+sending and consuming sessions in a JTA transaction. The JTA transaction
+is controlled by a JTA Transaction Manager which will need to be set
+via the settransactionManager method on the Bridge.</p>
+<p>This mode is only available for durable messages.</p>
+<blockquote>
+<p><strong>Note</strong></p>
+<p>For a specific application it may possible to provide once and only
+once semantics without using the ONCE_AND_ONLY_ONCE QoS level. This
+can be done by using the DUPLICATES_OK mode and then checking for
+duplicates at the destination and discarding them. Some JMS servers
+provide automatic duplicate message detection functionality, or this
+may be possible to implement on the application level by maintaining a
+cache of received message ids on disk and comparing received messages
+to them. The cache would only be valid for a certain period of time so
+this approach is not as watertight as using ONCE_AND_ONLY_ONCE but
+may be a good choice depending on your specific application.</p>
+</blockquote>
+<h3 id="time-outs-and-the-jms-bridge">Time outs and the JMS bridge</h3>
+<p>There is a possibility that the target or source server will not be
+available at some point in time. If this occurs then the bridge will try
+<code>Max Retries</code> to reconnect every <code>Failure Retry Interval</code> milliseconds
+as specified in the JMS Bridge definition.</p>
+<p>However since a third party JNDI is used, in this case the JBoss naming
+server, it is possible for the JNDI lookup to hang if the network were
+to disappear during the JNDI lookup. To stop this from occurring the
+JNDI definition can be configured to time out if this occurs. To do this
+set the <code>jnp.timeout</code> and the <code>jnp.sotimeout</code> on the Initial Context
+definition. The first sets the connection timeout for the initial
+connection and the second the read timeout for the socket.</p>
+<blockquote>
+<p><strong>Note</strong></p>
+<p>Once the initial JNDI connection has succeeded all calls are made
+using RMI. If you want to control the timeouts for the RMI connections
+then this can be done via system properties. JBoss uses Sun&apos;s RMI and
+the properties can be found
+<a href="http://docs.oracle.com/javase/6/docs/technotes/guides/rmi/sunrmiproperties.html" target="_blank">here</a>.
+The default connection timeout is 10 seconds and the default read
+timeout is 18 seconds.</p>
+</blockquote>
+<p>If you implement your own factories for looking up JMS resources then
+you will have to bear in mind timeout issues.</p>
+<h3 id="examples">Examples</h3>
+<p>Please see <a href="examples.html">the examples chapter</a> which shows how to configure and use a JMS Bridge with
+JBoss AS to send messages to the source destination and consume them
+from the target destination and how to configure and use a JMS Bridge between
+two standalone Apache ActiveMQ Artemis servers.</p>
+
+                                
+                                </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="resource-limits.html" class="navigation navigation-prev " aria-label="Previous page: Resource Limits">
+                    <i class="fa fa-angle-left"></i>
+                </a>
+                
+                
+                <a href="client-reconnection.html" class="navigation navigation-next " aria-label="Next page: Client Reconnection and Session Reattachment">
+                    <i class="fa fa-angle-right"></i>
+                </a>
+                
+            
+        
+    </div>
+
+    <script>
+        var gitbook = gitbook || [];
+        gitbook.push(function() {
+            gitbook.page.hasChanged({"page":{"title":"The JMS Bridge","level":"1.36","depth":1,"next":{"title":"Client Reconnection and Session Reattachment","level":"1.37","depth":1,"path":"client-reconnection.md","ref":"client-reconnection.md","articles":[]},"previous":{"title":"Resource Limits","level":"1.35","depth":1,"path":"resource-limits.md","ref":"resource-limits.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.cs
 s","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":"jms-bridge.md","mtime":"2016-10-22T12:23:36.000Z","type":"markdown"},"gitbook":{"version":"3.1.1","time":"2016-11-12T01:00:04.718Z"},"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>
+

Added: websites/production/activemq/content/artemis/docs/1.5.4/jms-core-mapping.html
==============================================================================
--- websites/production/activemq/content/artemis/docs/1.5.4/jms-core-mapping.html (added)
+++ websites/production/activemq/content/artemis/docs/1.5.4/jms-core-mapping.html Sun Mar 12 16:08:18 2017
@@ -0,0 +1,1027 @@
+
+<!DOCTYPE HTML>
+<html lang="" >
+    <head>
+        <title>Mapping JMS Concepts to the Core API · 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="client-classpath.html" />
+    
+    
+    <link rel="prev" href="using-core.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 active" 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 " 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="cdi-integration.html">
+            
+                <a href="cdi-integration.html">
+            
+                    
+                    CDI Integration
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.54" data-path="intercepting-operations.html">
+            
+                <a href="intercepting-operations.html">
+            
+                    
+                    Intercepting Operations
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.55" data-path="protocols-interoperability.html">
+            
+                <a href="protocols-interoperability.html">
+            
+                    
+                    Protocols and Interoperability
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.56" data-path="tools.html">
+            
+                <a href="tools.html">
+            
+                    
+                    Tools
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.57" data-path="maven-plugin.html">
+            
+                <a href="maven-plugin.html">
+            
+                    
+                    Maven Plugin
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.58" data-path="unit-testing.html">
+            
+                <a href="unit-testing.html">
+            
+                    
+                    Unit Testing
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.59" data-path="perf-tuning.html">
+            
+                <a href="perf-tuning.html">
+            
+                    
+                    Troubleshooting and Performance Tuning
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.60" 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="." >Mapping JMS Concepts to the Core API</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="mapping-jms-concepts-to-the-core-api">Mapping JMS Concepts to the Core API</h1>
+<p>This chapter describes how JMS destinations are mapped to Apache ActiveMQ Artemis
+addresses.</p>
+<p>Apache ActiveMQ Artemis core is JMS-agnostic. It does not have any concept of a JMS
+topic. A JMS topic is implemented in core as an address (the topic name)
+with zero or more queues bound to it. Each queue bound to that address
+represents a topic subscription. Likewise, a JMS queue is implemented as
+an address (the JMS queue name) with one single queue bound to it which
+represents the JMS queue.</p>
+<p>By convention, all JMS queues map to core queues where the core queue
+name has the string <code>jms.queue.</code> prepended to it. E.g. the JMS queue
+with the name &quot;orders.europe&quot; would map to the core queue with the name
+&quot;jms.queue.orders.europe&quot;. The address at which the core queue is bound
+is also given by the core queue name.</p>
+<p>For JMS topics the address at which the queues that represent the
+subscriptions are bound is given by prepending the string &quot;jms.topic.&quot;
+to the name of the JMS topic. E.g. the JMS topic with name &quot;news.europe&quot;
+would map to the core address &quot;jms.topic.news.europe&quot;</p>
+<p>In other words if you send a JMS message to a JMS queue with name
+&quot;orders.europe&quot; it will get routed on the server to any core queues
+bound to the address &quot;jms.queue.orders.europe&quot;. If you send a JMS
+message to a JMS topic with name &quot;news.europe&quot; it will get routed on the
+server to any core queues bound to the address &quot;jms.topic.news.europe&quot;.</p>
+<p>If you want to configure settings for a JMS Queue with the name
+&quot;orders.europe&quot;, you need to configure the corresponding core queue
+&quot;jms.queue.orders.europe&quot;:</p>
+<pre><code>&lt;!-- expired messages in JMS Queue &quot;orders.europe&quot; will be sent to the JMS Queue &quot;expiry.europe&quot; --&gt;
+&lt;address-setting match=&quot;jms.queue.orders.europe&quot;&gt;
+   &lt;expiry-address&gt;jms.queue.expiry.europe&lt;/expiry-address&gt;
+   ...
+&lt;/address-setting&gt;
+</code></pre>
+                                
+                                </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="using-core.html" class="navigation navigation-prev " aria-label="Previous page: Using Core">
+                    <i class="fa fa-angle-left"></i>
+                </a>
+                
+                
+                <a href="client-classpath.html" class="navigation navigation-next " aria-label="Next page: The Client Classpath">
+                    <i class="fa fa-angle-right"></i>
+                </a>
+                
+            
+        
+    </div>
+
+    <script>
+        var gitbook = gitbook || [];
+        gitbook.push(function() {
+            gitbook.page.hasChanged({"page":{"title":"Mapping JMS Concepts to the Core API","level":"1.10","depth":1,"next":{"title":"The Client Classpath","level":"1.11","depth":1,"path":"client-classpath.md","ref":"client-classpath.md","articles":[]},"previous":{"title":"Using Core","level":"1.9","depth":1,"path":"using-core.md","ref":"using-core.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.c
 ss","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":"jms-core-mapping.md","mtime":"2016-10-22T12:23:36.000Z","type":"markdown"},"gitbook":{"version":"3.1.1","time":"2016-11-12T01:00:04.718Z"},"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>
+