0

我正在通过 STOMP 与 ActiveMQ 交互。我有一个发布消息的应用程序和另一个订阅和处理消息的应用程序。

如果我将消息写入队列,我可以确定,如果我有两个消费者,每条消息将只被处理一次(因为当消息完成时,它会从队列中删除) - 但是这个功能是否可以从一个主题中获得?

例如; 我有第三个应用程序,它是一个记录器。我希望记录器接收发布者发出的每条消息,但我也希望两个(或三个或四个等)处理器中的一个也接收消息。

这可能吗?

编辑

我突然想到,这样做的一个好方法是拥有一个发布者写入的主题,以及一个处理器侦听的队列,并将主题中的每条消息推送到队列中。ApacheMQ 可以在内部执行此操作吗?

4

1 回答 1

3

您可以使用镜像队列在 ActiveMQ 内部执行此操作,也可以将虚拟主题用于其他一些高级路由语义。如果您想选择其他 EIP 类型的消息传递模式,那么我建议您查看 Apache Camel,它提供了一整套 EIP 模式功能。

于 2013-02-01T15:14:23.727 回答