You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2017/02/20 15:26:42 UTC
[1/2] activemq-artemis git commit: This closes #1031
Repository: activemq-artemis
Updated Branches:
refs/heads/master b36569d82 -> 51aa18a18
This closes #1031
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/51aa18a1
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/51aa18a1
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/51aa18a1
Branch: refs/heads/master
Commit: 51aa18a186f749bb913a0ee674cd07537292c20d
Parents: b36569d 81e5546
Author: Clebert Suconic <cl...@apache.org>
Authored: Mon Feb 20 10:26:08 2017 -0500
Committer: Clebert Suconic <cl...@apache.org>
Committed: Mon Feb 20 10:26:08 2017 -0500
----------------------------------------------------------------------
docs/migration-guide/en/SUMMARY.md | 1 +
docs/migration-guide/en/connectors.md | 43 ++++++++++++++++++++++++++++++
2 files changed, 44 insertions(+)
----------------------------------------------------------------------
[2/2] activemq-artemis git commit: [docs] migration guide - connectors
Posted by cl...@apache.org.
[docs] migration guide - connectors
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/81e55463
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/81e55463
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/81e55463
Branch: refs/heads/master
Commit: 81e55463cf9242c108c8912d7d225cbf17a2cffa
Parents: b36569d
Author: Dejan Bosanac <de...@nighttale.net>
Authored: Mon Feb 20 15:48:11 2017 +0100
Committer: Clebert Suconic <cl...@apache.org>
Committed: Mon Feb 20 10:26:08 2017 -0500
----------------------------------------------------------------------
docs/migration-guide/en/SUMMARY.md | 1 +
docs/migration-guide/en/connectors.md | 43 ++++++++++++++++++++++++++++++
2 files changed, 44 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/81e55463/docs/migration-guide/en/SUMMARY.md
----------------------------------------------------------------------
diff --git a/docs/migration-guide/en/SUMMARY.md b/docs/migration-guide/en/SUMMARY.md
index 388a242..5874e89 100644
--- a/docs/migration-guide/en/SUMMARY.md
+++ b/docs/migration-guide/en/SUMMARY.md
@@ -1,4 +1,5 @@
# Summary
* [Configuration](configuration.md)
+* [Connectors](connectors.md)
* [Legal Notice](notice.md)
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/81e55463/docs/migration-guide/en/connectors.md
----------------------------------------------------------------------
diff --git a/docs/migration-guide/en/connectors.md b/docs/migration-guide/en/connectors.md
new file mode 100644
index 0000000..8119007
--- /dev/null
+++ b/docs/migration-guide/en/connectors.md
@@ -0,0 +1,43 @@
+Connectors
+=====================================
+
+After broker is started, you'll want to connect your clients to it. So, let's start with comparing ActiveMQ and Artemis configurations in area of client connectors. In ActiveMQ terminology, they are called *transport connectors*, and the default configuration looks something like this (in `conf/activemq.xml`).
+
+ <transportConnectors>
+ <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
+ <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
+ <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
+ <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
+ <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
+ </transportConnectors>
+
+In Artemis, client connectors are called *acceptors* and they are configured in `etc/broker.xml` like this
+
+ <acceptors>
+ <acceptor name="artemis">tcp://0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE</acceptor>
+ <acceptor name="amqp">tcp://0.0.0.0:5672?protocols=AMQP</acceptor>
+ <acceptor name="stomp">tcp://0.0.0.0:61613?protocols=STOMP</acceptor>
+ <acceptor name="hornetq">tcp://0.0.0.0:5445?protocols=HORNETQ,STOMP</acceptor>
+ <acceptor name="mqtt">tcp://0.0.0.0:1883?protocols=MQTT</acceptor>
+ </acceptors>
+
+As you can notice the syntax is very similar, but there are still some differences that we need to understand. First, as we said earlier, there's no notion of blocking and non-blocking (nio) transport in Artemis, so you should treat everything as non-blocking. Also, in Artemis the low level transport is distinct from the actual messaging protocol (like AMQP or MQTT) used on top of it. One acceptor can handle multiple messaging protocols on the same port. By default, all protocols are accepted on the single port, but you can restrict this using the `protocols=X,Y` uri attribute pattern as shown in the example above.
+
+Besides *tcp* network protocol, Artemis support *InVm* and *Web Socket* transports. The *InVm* transport is similar to ActiveMQ's *vm* transport and is used to connect clients to the embedded broker. The difference is that you can use any messaging protocol on top of *InVm* transport in Artemis, while *vm* transport in ActiveMQ is tied to OpenWire.
+
+One of the advantages of using Netty for IO layer, is that Web Sockets are supported out of the box. So, there's no need for the separate *ws* transport like in ActiveMQ, the *tcp* (Netty) acceptor in Artemis will detect Web Socket clients and handle them accordingly.
+
+To summarize this topic, here's a table that shows you how to migrate your ActiveMQ transport connectors to the Artemis acceptors
+
+| ActiveMQ | Artemis (p[tions in the acceptor URL) |
+|---|---|
+| OpenWire | protocols=OpenWire (version 10+) |
+| NIO | - |
+| AMQP | protocols=AMQP |
+| STOMP | protocols=STOMP |
+| VM (OpenWire only) | InVM (all protocols, peer to tcp) |
+| HTTP (OpenWire-based) | - |
+| MQTT | protocols=MQTT |
+| WebSocket (STOMP and MQTT) | handled by tcp (all protocols)|
+
+