Spring 事件与 ActiveMQ

标签 spring jms activemq

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

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

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

因此,任何人都可以帮助我了解这两个 API 之间的用例或区别。

最佳答案

据我所知, Spring 事件 应用程序级事件 机制,以便我们应用程序内部的不同部分可以通信/协调。范围和功能似乎分别非常狭窄和小。您可以同步(默认行为)或异步(使用@EnableAsync 和@Async)发布事件并处理这些事件。没有经纪人。如果这就是它所需要的,此功能可能非常适合您的应用程序。
另一方面,事件MQ 是一个功能齐全的消息代理 .一般来说,它作为一个独立的服务器进程运行(尽管它可以嵌入到您的应用程序中)。它支持行业标准协议(protocol),如 AMQP、MQTT 和 STOMP,这些协议(protocol)在众多平台和各种语言中都有客户端实现。例如,您可以通过 Websockets 从 Javascript 客户端发送 STOMP 消息,并使用 Windows 上用 .NET 编写的 AMQP 客户端处理这些消息。它提供了 JMS 和 JNDI 客户端实现。它支持发布-订阅和点对点语义。您可以将其用作集成平台,并将其扩展到具有高可用性的消息数据和使用各种协议(protocol)的数千个远程客户端的多节点集群,或者您可以将其嵌入到您的应用程序中并仅用于本地事件。

关于Spring 事件与 ActiveMQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55015909/

相关文章:

spring - Autowiring 按类型键入的所有接口(interface)

java - JPA 具有动态 WHERE 语句并处理 MVC 中的 JPA 连接

java - 如果Onmessage()方法出现异常,是否将消息保留在Queue中并稍后再次调用MDB

java - 带有 ActiveMQ 的 Spring JMS

grails - Grails 的 ActiveMQ 插件接管 SSL 连接?

java - Spring hibernate : Values not inserting into database

java - 如何在 apache Camel (spring) 中测试路由

jms - 如何从 ActiveMQ 代理获取所有消息?

jakarta-ee - ActiveMQ 独立服务器部署或嵌入 Spring Webapp

WildFly 10 Artemis 和 ActiveMQ 5.14 之间的 JMS 桥接(ONCE_AND_ONLY_ONCE 服务质量)