Reputation: 1344
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?
Upvotes: 4
Views: 2172
Reputation: 47183
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.
Upvotes: 12