Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Comparing JMS to AMQP

Tags:

java

jms

amqp

I was googling around to search for what makes them different. I have used RabbitMQ and ZeroMQ for some of my projects. Knowing that JMS still exists and people use it I begin to wonder why? What motivates the usage of JMS are there any performance, architectural, or any advantages? I have no knowledge of JMS but if what I understand is true why would somebody bound himself to a java specific technology?

like image 496
MaX Avatar asked Dec 15 '22 17:12

MaX


1 Answers

JMS and AMQP aren't really comparable. JMS is an API; AMQP is a protocol. It is possible to write a JMS implementation that uses AMQP. Indeed, people have.

Moreover, it is possible to write JMS implementations that use other protocols - and of course, numerous people have.

The goal of JMS is to put a uniform API over all these different messaging protocols. This makes life easier for programmers, who can learn one API, and then have a reasonable chance of using any message queue they come across.

In addition, the existence of a standard API allows JMS to interact with other standards. For example, in ejb, there is such a thing as a message-driven bean, which is an EJB which receives messages rather than method calls, and uses the JMS API to control the process.

like image 134
Tom Anderson Avatar answered Dec 26 '22 19:12

Tom Anderson