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.