doc fixes
This commit is contained in:
parent
37e37ebdc0
commit
a9ff8e4d9f
|
@ -117,8 +117,7 @@ etc
|
||||||
```
|
```
|
||||||
|
|
||||||
Similarly, if you're using JMS, you can configure the JMS connection
|
Similarly, if you're using JMS, you can configure the JMS connection
|
||||||
factory directly on the client side without having to define a connector
|
factory directly on the client side:
|
||||||
on the server side or define a connection factory in `activemq-jms.xml`:
|
|
||||||
|
|
||||||
``` java
|
``` java
|
||||||
Map<String, Object> connectionParams = new HashMap<String, Object>();
|
Map<String, Object> connectionParams = new HashMap<String, Object>();
|
||||||
|
|
|
@ -246,7 +246,7 @@ Browser
|
||||||
The `browser` example shows you how to use a JMS `QueueBrowser` with
|
The `browser` example shows you how to use a JMS `QueueBrowser` with
|
||||||
Apache ActiveMQ Artemis.
|
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.
|
specification for full details.
|
||||||
|
|
||||||
A `QueueBrowser` is used to look at messages on the queue without
|
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
|
The `xa-send` example shows you how message sending behaves in an XA
|
||||||
transaction in Apache ActiveMQ Artemis.
|
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.
|
|
||||||
|
|
|
@ -94,8 +94,6 @@ or
|
||||||
|
|
||||||
### Data Replication
|
### 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
|
When using replication, the live and the backup servers do not share the
|
||||||
same data directories, all data synchronization is done over the
|
same data directories, all data synchronization is done over the
|
||||||
network. Therefore all (persistent) data received by the live server
|
network. Therefore all (persistent) data received by the live server
|
||||||
|
|
|
@ -159,9 +159,9 @@ settings
|
||||||
In the default configuration, all addresses are configured to block
|
In the default configuration, all addresses are configured to block
|
||||||
producers after 10 MiB of data are in the address.
|
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
|
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.
|
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
|
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:
|
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
|
- One of the queues does not deliver its messages (maybe because of a
|
||||||
slow consumer).
|
slow consumer).
|
||||||
|
|
|
@ -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
|
> 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
|
> 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
|
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
|
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
|
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
|
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.
|
as NONE then a volatile multicast queue will be created.
|
||||||
|
|
||||||
The prefix can be changed by configuring the Acceptor and setting the `pubSubPrefix` like so
|
|
||||||
|
|
||||||
> <acceptor name="amqp">tcp://0.0.0.0:5672?protocols=AMQP;pubSubPrefix=foo.bar.</acceptor>
|
|
||||||
|
|
||||||
Artemis also supports the qpid-jms client and will respect its use of topics regardless of the prefix used for the address.
|
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
|
### 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
|
#### 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
|
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
|
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
|
`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
|
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:
|
name of `mysubscriptionname` then configure the durable subscription:
|
||||||
|
|
||||||
~~~
|
|
||||||
<jms xmlns="urn:activemq:jms">
|
|
||||||
...
|
|
||||||
<topic name="myTopic"/>
|
|
||||||
...
|
|
||||||
</jms>
|
|
||||||
~~~
|
|
||||||
|
|
||||||
Then configure the durable subscription:
|
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
<core xmlns="urn:activemq:core">
|
<core xmlns="urn:activemq:core">
|
||||||
...
|
...
|
||||||
<queues>
|
<addresses>
|
||||||
<queue name="myclientid.mysubscription">
|
<address name="myTopic">
|
||||||
<address>jms.topic.myTopic</address>
|
<multicast>
|
||||||
</queue>
|
<queue name="myclientid.mysubscription"/>
|
||||||
</queues>
|
</multicast>
|
||||||
|
</address>
|
||||||
|
</addresses>
|
||||||
...
|
...
|
||||||
</core>
|
</core>
|
||||||
~~~
|
~~~
|
||||||
|
|
|
@ -4,19 +4,7 @@ Apache ActiveMQ Artemis provides a simple bootstrap class,
|
||||||
`org.apache.activemq.integration.spring.SpringJmsBootstrap`, for
|
`org.apache.activemq.integration.spring.SpringJmsBootstrap`, for
|
||||||
integration with Spring. To use it, you configure Apache ActiveMQ Artemis as you always
|
integration with Spring. To use it, you configure Apache ActiveMQ Artemis as you always
|
||||||
would, through its various configuration files like
|
would, through its various configuration files like
|
||||||
`broker.xml`, `activemq-jms.xml`, and
|
`broker.xml`.
|
||||||
`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:
|
|
||||||
|
|
||||||
<configuration xmlns="urn:activemq"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="urn:activemq /schema/artemis-jms.xsd">
|
|
||||||
|
|
||||||
<!--the queue used by the example-->
|
|
||||||
<queue name="exampleQueue"/>
|
|
||||||
</configuration>
|
|
||||||
|
|
||||||
Here we've specified a `javax.jms.ConnectionFactory` we want bound to a
|
Here we've specified a `javax.jms.ConnectionFactory` we want bound to a
|
||||||
`ConnectionFactory` entry as well as a queue destination bound to a
|
`ConnectionFactory` entry as well as a queue destination bound to a
|
||||||
|
|
Loading…
Reference in New Issue