Difference between AMQP and JMS

1. Advanced Message Queuing Protocol (AMQP) :
It is a protocol that is used for communication between applications. It is a lightweight, protocol which supports the applications for its transfer of data. This protocol is used for it scalability and modularity with the technologies.

2. Java Message Service (JMS) :
It is an application program interface (API) that supports the communication for the computer in a network. It is a powerful API used for receiving the messages generated during the communication.

Differences between AMQP and JMS :

Basis of AMQP JMS
Abbreviation Advanced Message Queuing Protocol. Java Message Service.
Developed by It was developed by JPMorgan Chase. It was developed by Sun Microsystems.
Working All the AMQP compatible clients can talk to each other. The application should use JMS API to communicate.
Message Model used It uses Direct, Fanout, Topic and Headers. It uses Publish/Subscribe and P2P (Point to Point).
Data types used AMQP only uses and supports binary data type. JMS supports five data types named MapMessage, ObjectMessage, Text message, StreamMessage and BytesMessage.
Security Security is supported by Simple Authentication and Security Layer (SASL). Security is not provided and it is depended with the JMS provider.
Data Flow It is the producers which sends the message and then it is queued. It is managed by the producers and send directly to the topic.
Technology flexibility It is flexible with many technologies. It is not technology flexible as made only for Java.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.