我在谷歌上搜索是什么让他们与众不同.我已经在我的一些项目中使用了RabbitMQ和ZeroMQ.知道JMS仍然存在并且人们使用它我开始想知道为什么?使用JMS的动机有什么性能,架构或任何优势?我不了解JMS,但如果我理解的是真的,为什么有人会将自己绑定到特定于Java的技术?
解决方法:
JMS和AMQP并不具有可比性. JMS是一个API; AMQP是一种协议.可以编写使用AMQP的JMS实现.的确,people have.
此外,可以编写使用其他协议的JMS实现 – 当然,也可以是numerous people have.
JMS的目标是在所有这些不同的消息传递协议上放置统一的API.这使得程序员的生活更轻松,他们可以学习一个API,然后有合理的机会使用他们遇到的任何消息队列.
此外,标准API的存在允许JMS与其他标准进行交互.例如,在ejb中,存在诸如message-driven bean之类的东西,它是接收消息而不是方法调用的EJB,并使用JMS API来控制该过程.