2012-11-01 59 views
3

我一直在搜索什麼使他們與衆不同。我爲我的一些項目使用了RabbitMQ和ZeroMQ。知道JMS仍然存在並且人們使用它,我開始想知道爲什麼? JMS使用的動機是什麼?是否有任何性能,架構或任何優勢?我不瞭解JMS,但是如果我明白的是真的,爲什麼有人會將自己綁定到一個java特定的技術上?將JMS與AMQP進行比較

回答

11

JMS和AMQP沒有真正的可比性。 JMS是一個API; AMQP是一個協議。編寫使用AMQP的JMS實現是可能的。的確,people have

此外,可以編寫使用其他協議的JMS實現 - 當然,也可以使用numerouspeoplehave

JMS的目標是將統一的API放在所有這些不同的消息協議上。這讓程序員可以更輕鬆地學習一個API,然後有合理的機會使用他們碰到的任何消息隊列。

此外,標準API的存在允許JMS與其他標準進行交互。例如,在中,存在諸如message-driven bean之類的東西,它是一種接收消息而不是方法調用的EJB,並使用JMS API來控制進程。