Spring 事件与 ActiveMQ

Spring Events vs ActiveMQ

Newbee 到 Spring 世界。我对 ActiveMQ 有一些了解。最近在我的一个项目中使用。在阅读有关 Spring 事件时提出了疑问。

Spring 事件:发布者 -> 监听者。我们确实会发布事件,我们会为此创建一些侦听器。

ActiveMQ:发布者 -> 监听者。我们确实会发布事件,我们会为此创建一些侦听器。

所以任何人都可以帮助我了解这两个 API 的用例或区别。

据我所知,Spring事件应用程序级别的事件机制,让我们的应用程序里面的不同部分可以communicate/coordinate。范围和功能似乎分别非常狭窄和小。您可以同步(默认行为)或异步(使用@EnableAsync 和@Async)发布事件和处理这些事件。没有经纪人。如果这就是它所需要的,此功能可能非常适合您的应用程序。

另一方面,ActiveMQ 是一个功能齐全的消息代理。一般来说,它作为一个 独立的服务器进程 运行(尽管它可以嵌入到您的应用程序中)。它支持 行业标准协议 ,例如 AMQP、MQTT 和 STOMP,这些协议在众多平台和各种语言上都有客户端实现。例如,您可以从 Javascript 客户端通过 Websockets 发送 STOMP 消息,并使用在 Windows 上用 .NET 编写的 AMQP 客户端处理这些消息。它同时提供 JMS 和 JNDI 客户端实现。它支持发布-订阅和点对点语义。您可以将其用作集成平台,并将其扩展为多节点集群,为消息数据和使用各种协议的数千个远程客户端提供高可用性,或者您可以将其嵌入到您的应用程序中,仅用于本地事件。