gpt4 book ai didi

java - 如何在RabbitMq上进行 "topic-like"消费?

转载 作者:行者123 更新时间:2023-11-30 08:21:19 26 4
gpt4 key购买 nike

我是 RabbitMq 和 AMQP 的新手,但我对 ActiveMQ 和 JMS 有一些经验。我尝试在主题(JMS 中的主题之类的主题)中发布一条消息,并从多个监听器中使用此消息。比如我发布一条消息说系统中有一个新用户,有一个消费者给这个用户发邮件,另一个消费者在elasticsearch中索引这个用户。因此,每个消费者都必须阅读消息,直到它可以从主题中删除。

我尝试以这种方式使用 TopicExchange:

@Bean
public TopicExchange profileExchange() {
return new TopicExchange(PROFILE_EXCHANGE, true, false);
}

@Bean
public Queue putProfileQueue() {
return new Queue(this.PUT_PROFILE_QUEUE);
}

@Bean
public Binding putProfileBinding() {
return BindingBuilder.bind(putProfileQueue()).to(profileExchange()).with(PUT_PROFILE_QUEUE);
}

我有两个声明的监听器。

但是一旦第一个监听器读取消息,它就会从队列中删除,第二个监听器不会读取消息。

我不确定是否正确理解了不同的 AMQP 配置以及我应该使用哪一个来模仿我以前在 JMS 中了解的“主题”模式。

最佳答案

您将使用fanout 交换器——每个消费者都需要将自己的队列绑定(bind)到交换器。

参见 the tutorials .

关于java - 如何在RabbitMq上进行 "topic-like"消费?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25314691/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com