1.8 KiB
Using AMQP
Apache ActiveMQ Artemis is also a pure AMQP 1.0 broker, with a high performant and feature complete protocol manager for AMQP.
You can use any AMQP 1.0 compatible clients.
A short list includes:
- qpid clients at the qpid project
- .NET Clients
- Javascript NodeJS
- Java Script RHEA
... and many others.
Message Conversions
The broker will not perform any message conversion to any other protocols when sending AMQP and receiving AMQP.
However if you intend your message to be received on a AMQP JMS Client, you must follow the JMS Mapping convention:
If you send a body type that is not recognized by this specification the conversion between AMQP and any other protocol will make it a Binary Message.
So, make sure you follow these conventions if you intend to cross protocols or languages. Especially on the message body.
A compatibility setting, allows aligning the naming convention of AMQP queues (JMS Durable and Shared Subscriptions) with CORE. For backwards compatibility reasons, you need to explicitly enable this via broker configuration:
- amqp-use-core-subscription-naming
- true - use queue naming convention that is aligned with CORE.
- false (DEFAULT) - use older naming convention.
Example
We have a few examples as part of the Artemis distribution:
- .NET:
- ./examples/protocols/amqp/dotnet
- ProtonCPP
- ./examples/protocols/amqp/proton-cpp
- Ruby
- ./examples/protocols/amqp/proton-ruby
- Java (Using the qpid JMS Client)
- ./examples/protocols/amqp/queue