JMS開源消息中間件有不少,本文對常見的幾種進行了列舉和簡單比較,但願對MOM選型的我的和企業有所幫助。java
mom4j數據庫
mom4j是一個徹底實現JMS1.1規範的消息中間件而且向下兼容JMS1.0與1.02.它提供了本身的消息處理存儲使它獨立於關係數據與語言,因此它的客戶端能夠用任何語言開發.異步
OpenJMS分佈式
OpenJMS是一個開源的Java Message Service API 1.0.2 規範的實現,它包含有如下特性:ide
*. 它既支持點到點(point-to-point)(PTP)模型和發佈/訂閱(Pub/Sub)模型。spa
*. 支持同步與異步消息發送線程
*. JDBC持久性管理使用數據庫表來存儲消息orm
*. 可視化管理界面。中間件
*. 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.