diff --git a/docs/user-manual/en/configuring-transports.md b/docs/user-manual/en/configuring-transports.md index 37e779d358..eec4e0906c 100644 --- a/docs/user-manual/en/configuring-transports.md +++ b/docs/user-manual/en/configuring-transports.md @@ -117,8 +117,7 @@ etc ``` Similarly, if you're using JMS, you can configure the JMS connection -factory directly on the client side without having to define a connector -on the server side or define a connection factory in `activemq-jms.xml`: +factory directly on the client side: ``` java Map connectionParams = new HashMap(); diff --git a/docs/user-manual/en/examples.md b/docs/user-manual/en/examples.md index 503da40c56..8b3ad86486 100644 --- a/docs/user-manual/en/examples.md +++ b/docs/user-manual/en/examples.md @@ -246,7 +246,7 @@ Browser The `browser` example shows you how to use a JMS `QueueBrowser` with Apache ActiveMQ Artemis. -Queues are a standard part of JMS, please consult the JMS 1.1 +Queues are a standard part of JMS, please consult the JMS 2.0 specification for full details. A `QueueBrowser` is used to look at messages on the queue without @@ -897,14 +897,3 @@ XA Send The `xa-send` example shows you how message sending behaves in an XA transaction in Apache ActiveMQ Artemis. -Core API Examples -================= - -To run a core example, simply `cd` into the appropriate example -directory and type `ant` - -Embedded --------- - -The `embedded` example shows how to embed the Apache ActiveMQ Artemis server within -your own code. diff --git a/docs/user-manual/en/ha.md b/docs/user-manual/en/ha.md index 0673308338..0de964d654 100644 --- a/docs/user-manual/en/ha.md +++ b/docs/user-manual/en/ha.md @@ -94,8 +94,6 @@ or ### Data Replication -Support for network-based data replication was added in version 2.3. - When using replication, the live and the backup servers do not share the same data directories, all data synchronization is done over the network. Therefore all (persistent) data received by the live server diff --git a/docs/user-manual/en/paging.md b/docs/user-manual/en/paging.md index a001a6f852..9f462872aa 100644 --- a/docs/user-manual/en/paging.md +++ b/docs/user-manual/en/paging.md @@ -159,9 +159,9 @@ settings In the default configuration, all addresses are configured to block producers after 10 MiB of data are in the address. -## Caution with Addresses with Multiple Queues +## Caution with Addresses with Multiple Multicast Queues -When a message is routed to an address that has multiple queues bound to +When a message is routed to an address that has multiple multicast queues bound to it, e.g. a JMS subscription in a Topic, there is only 1 copy of the message in memory. Each queue only deals with a reference to this. Because of this the memory is only freed up once all queues referencing @@ -173,7 +173,7 @@ through an extra storage on the paging system. For example: -- An address has 10 queues +- An address has 10 multicast queues - One of the queues does not deliver its messages (maybe because of a slow consumer). diff --git a/docs/user-manual/en/protocols-interoperability.md b/docs/user-manual/en/protocols-interoperability.md index c3ea5169f2..5d7aa3e339 100644 --- a/docs/user-manual/en/protocols-interoperability.md +++ b/docs/user-manual/en/protocols-interoperability.md @@ -86,18 +86,14 @@ does not exist then an exception will be sent > For the next version we will add a flag to aut create durable queue > but for now you will have to add them via the configuration -### AMQP and Topics +### AMQP and Multicast Queues (Topics) Although amqp has no notion of topics it is still possible to treat amqp consumers or receivers as subscriptions rather -than just consumers on a queue. By default any receiving link that attaches to an address with the prefix `jms.topic.` +than just consumers on a queue. By default any receiving link that attaches to an address that has only multicast enabled will be treated as a subscription and a subscription queue will be created. If the Terminus Durability is either UNSETTLED_STATE or CONFIGURATION then the queue will be made durable, similar to a JMS durable subscription and given a name made up from the container id and the link name, something like `my-container-id:my-link-name`. if the Terminus Durability is configured -as NONE then a volatile queue will be created. - -The prefix can be changed by configuring the Acceptor and setting the `pubSubPrefix` like so - -> tcp://0.0.0.0:5672?protocols=AMQP;pubSubPrefix=foo.bar. +as NONE then a volatile multicast queue will be created. Artemis also supports the qpid-jms client and will respect its use of topics regardless of the prefix used for the address. @@ -378,36 +374,6 @@ expression syntax follows the *core filter syntax* described in the ### Stomp and JMS interoperability -#### Using JMS destinations - -As explained in [Mapping JMS Concepts to the Core API](jms-core-mapping.md), -JMS destinations are also mapped to Apache ActiveMQ Artemis -addresses and queues. If you want to use Stomp to send messages to JMS -destinations, the Stomp destinations must follow the same convention: - -- send or subscribe to a JMS *Queue* by prepending the queue name by - `jms.queue.`. - - For example, to send a message to the `orders` JMS Queue, the Stomp - client must send the frame: - - SEND - destination:jms.queue.orders - - hello queue orders - ^@ - -- send or subscribe to a JMS *Topic* by prepending the topic name by - `jms.topic.`. - - For example to subscribe to the `stocks` JMS Topic, the Stomp client - must send the frame: - - SUBSCRIBE - destination:jms.topic.stocks - - ^@ - #### Sending and consuming Stomp message from JMS or Apache ActiveMQ Artemis Core API Stomp is mainly a text-orientated protocol. To make it simpler to @@ -445,26 +411,18 @@ It is possible to pre-configure durable subscriptions since the Stomp implementa the queue used for the durable subscription in a deterministic way (i.e. using the format of `client-id`.`subscription-name`). For example, if you wanted to configure a durable subscription on the JMS topic `myTopic` with a client-id of `myclientid` and a subscription -name of `mysubscriptionname` then first you'd configure the topic: - -~~~ - - ... - - ... - -~~~ - -Then configure the durable subscription: +name of `mysubscriptionname` then configure the durable subscription: ~~~ ... - - -
jms.topic.myTopic
-
-
+ +
+ + + +
+
...
~~~ diff --git a/docs/user-manual/en/spring-integration.md b/docs/user-manual/en/spring-integration.md index 34c7545e9a..718ecf6fe1 100644 --- a/docs/user-manual/en/spring-integration.md +++ b/docs/user-manual/en/spring-integration.md @@ -4,19 +4,7 @@ Apache ActiveMQ Artemis provides a simple bootstrap class, `org.apache.activemq.integration.spring.SpringJmsBootstrap`, for integration with Spring. To use it, you configure Apache ActiveMQ Artemis as you always would, through its various configuration files like -`broker.xml`, `activemq-jms.xml`, and -`activemq-users.xml`. The Spring helper class starts the Apache ActiveMQ Artemis server -and adds any factories or destinations configured within -`activemq-jms.xml` directly into the namespace of the Spring context. -Let's take this `activemq-jms.xml` file for instance: - - - - - - +`broker.xml`. Here we've specified a `javax.jms.ConnectionFactory` we want bound to a `ConnectionFactory` entry as well as a queue destination bound to a