JMS開源消息中間件有很多,本文對常見的幾種進行了列舉和簡單比較,希望對MOM選型的個人和企業有所幫助。
mom4j
mom4j是一個完全實現JMS1.1規范的消息中間件並且向下兼容JMS1.0與1.02.它提供了自己的消息處理存儲使它獨立於關系數據與語言,所以它的客戶端可以用任何語言開發.
OpenJMS
OpenJMS是一個開源的Java Message Service API 1.0.2 規范的實現,它包含有以下特性:
*. 它既支持點到點(point-to-point)(PTP)模型和發布/訂閱(Pub/Sub)模型。
*. 支持同步與異步消息發送
*. JDBC持久性管理使用數據庫表來存儲消息
*. 可視化管理界面。
*. Applet支持。
*. 能夠與Jakarta Tomcat這樣的Servlet容器結合。
*. 支持RMI, TCP, HTTP 與SSL協議。
*. 客戶端驗證
*. 提供可靠消息傳輸、事務和消息過濾
UberMQ
UberMQ完全實現了Java Message Service 規范。UberMQ是因為現有的許多JMS提供商已經違背了分布式計算的核心原則:快速與簡單而開發的。
Hermes JMS
利用它提供的Swing UI可以很好的實現監控JMS providers。
ActiveMQ
ActiveMQ是一個開放源碼基於apache 2.0 licenced 發布並實現了JMS 1.1。它能夠與Geronimo,輕量級容器和任Java應用程序無縫的給合。
Somnifugi
Somnifugi使得工作在同一個Java虛擬機中的線程能實現消息互發。
MantaRay
MantaRay基於peer-2-peer 技術。它具有以下特性:
1.它既支持點對點(point-to-point)的域,又支持發布/訂閱(publish/subscribe)類型的域。
2.並且提供對下列類型的支持:經認可的消息傳遞,事務型消息的傳遞,一致性消息和具有持久性的訂閱者支持。
3.消息過濾體制。
4.能與WebLogic and WebSphere 給合。
5.支持TCP, UDP 與 HTTP傳輸協。
Presumo
Presumo也是一個實現Java Message Service API的JMS消息中間件。
JORAM
JORAM一個類似於openJMS分布在ObjectWeb之下的JMS消息中間件。
JMS4Sdivad
JMS4Sdivad是一個消息系統.它部分地實現了Java消息服務(JMS) API.