AMQP vs JMS | Difference between AMQP and JMS

This page compares AMQP vs JMS and mentions difference between AMQP and JMS protocols.

Following table mentions comparison between AMQP and JMS protocols.


Features AMQP JMS
Full Form Advanced Message Queuing Protocol Java Message Service
What is it? • It provides standard messaging protocol across all the platforms.
• It is cross platform and supports multiple languages/frameworks.
• It is open standard for passing messages between applications or organizations.
• It lets different systems e.g. .NET/Java to interact with each other by agreeing message format at wire level similar to web services.
• It provides messaging API for java platforms.
• It is specifically targeted at Java users.
• It does not define message format. This is filled by AMQP protocol.
Message format/types Messages should be transmitted in binary format. Messages are transmitted in five different data types viz. BytesMessage, MapMessage, ObjectMessage, StreamMessage and text message.
Message Models Direct, Fanout, Topic, Headers P2P (Point to Point), Publish/Subscribe
Working It is completely client (i.e. API) and server (i.e. broker) agnostic. Any AMQP compatible client can talk to any other AMQP client. Here only API is specified. All the applications should adhere to JMS API in order to communicate with each other.
Security Supported i.e.SASL specification does not support security and hence implementation is left with JMS provider.
Message routing complex routing schemes are possible based on routing key. This is based on destination matching criteria. It is based on more complicated routing schemes. These are based on hierarchic topics and client message selection filters.
Multicast/distribution list topics (publish/subscribe), Fanout (transmit to all bound Rx queues) topics
Message delivery QoS Yes (exactly once delivery semantics of a session)
• Persistent/non-persistent delivery modes
• Message priorities
• Only message Ack and no-ack modes defined
• Persistent delivery modes
• Different message ack types
• Message priorities
Peek queue (check if message available without receiving) No Yes (QueueBrowser object)
Priority based messaging Yes (10 priority levels) Yes (10 priority levels)


What is difference between

MQTT vs HTTP   Difference between OSI and TCPIP layers  Difference between TCP UDP  FTP vs HTTP   FTP vs SMTP   FTP vs TFTP   ARP vs RARP   NAT vs PAT   RIP vs OSPF  SLIP vs PPP  IMAP4 vs POP3  IPV4 vs IPV6 

IoT Wireless Technologies

WLAN    ➤THREAD    ➤EnOcean    ➤LoRa    ➤SIGFOX    ➤WHDI   
Zigbee   ➤6LoWPAN   ➤Zigbee RF4CE   ➤Z-Wave   ➤NFC   ➤RFID   ➤INSTEON  

RF and Wireless Terminologies