应该下那个 ActiveMQ

最近在搞 ActiveMQ 的时候,发现有 2 个 ActiveMQ 可以下载。

应该下那个?

1 Like

JMS 即Java Message Service,是JavaEE的消息服务接口。

JMS主要有两个版本:1.1和2.0。

2.0和1.1相比,主要是简化了收发消息的代码。

所谓消息服务,就是两个进程之间,通过消息服务器传递消息。

实际上ActiveMQ Classic原来就叫ActiveMQ,是Apache开发的基于JMS 1.1的消息服务器,目前稳定版本号是5.x,而 ActiveMQ Artemis 是 由RedHat捐赠的 HornetQ服 务器代码的基础上开发的,目前稳定版本号是 2.x。

和ActiveMQ Classic相比,Artemis版的代码与Classic完全不同,并且,它支持JMS 2.0,使用基于Netty的异步IO,大大提升了性能。

针对数据的持久层 ActiveMQ Artemis 还能够支持 JDBC。

总结

整体来说,ActiveMQ 通常指的是 ActiveMQ Classic,为了简化去掉了 Classic。

ActiveMQ Artemis 应该是作为下一个版本来候选的,支持的协议更新。

2 套 ActiveMQ 的代码是不一样的。

如果用不到什么太多的消息策略高级需求,可以就使用 ActiveMQ Classic 就好。

因为这 2 个消息服务器的代码完全不一样,导致如果你使用 Spring 的话,使用的包的代码也不一样,ActiveMQ artemis 的调用代码更加简单,界面更好看。

如项目只是需要一个消息服务器,并且没有什么技术负担,使用 Spring 的框架的话,用 ActiveMQ artemis 可能更好些。

有谁不愿意看好看的界面呢?

1 Like