Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

JMS vs RabbitMQ

DZone's Guide to

JMS vs RabbitMQ

· Integration Zone ·
Free Resource

The new Gartner Critical Capabilities report explains how APIs and microservices enable digital leaders to deliver better B2B, open banking and mobile projects.

Definition :

JMS : Java Message Service is an API that is part of Java EE for sending messages between two or more clients.  There are many JMS providers such as OpenMQ (glassfish’s default), HornetQ(Jboss), and ActiveMQ.

RabbitMQ: is an open source message broker software which uses the AMQP standard and is written by Erlang.

Messaging Model:

JMS supports two models: one to one and publish/subscriber. RabbitMQ supports the AMQP model which has 4 models : direct, fanout, topic, headers.

Data types:

JMS supports 5 different data types but RabbitMQ supports only the binary data type.

Workflow strategy:

In AMQP, producers send to the exchange then the queue, but in JMS, producers send to the queue or topic directly.

Technology compatibility:

JMS is specific for java users only, but RabbitMQ supports many technologies.

Performance:

If you would like to know more about their performance, this benchmark is a good place to start, but look for others as well.

The new Gartner Critical Capabilities for Full Lifecycle API Management report shows how CA Technologies helps digital leaders with their B2B, open banking, and mobile initiatives. Get your copy from CA Technologies.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}