使用没有使用者或没有活动使用者的Spring Cloud Stream创建RabbitMQ队列

3htmauhk  于 2022-11-08  发布在  RabbitMQ
关注(0)|答案(1)|浏览(202)

是否有一种方法可以使用spring cloud stream创建RabbitMQ队列,而不需要队列的消费者。
我们的场景是,我们希望使用延迟消息传递策略,因此进入第一个队列的消息将被保留,直到过期并移动到DLQ。应用程序将使用来自DLQ的消息。
希望检查是否有一种方法可以使用spring cloud stream来配置队列,当我们没有第一个队列的使用者时,它只是在那里保存消息直到过期。

jaxagkaj

jaxagkaj1#

是的;只需添加一个Queue bean(如果需要,还可以进行绑定)。
引导自动配置一个RabbitAdmin,它将在首次建立连接时检测此类bean。
https://docs.spring.io/spring-amqp/docs/current/reference/html/#broker-configuration

@Bean
public Queue queue() {
    return QueueBuilder.nonDurable("foo")
        .autoDelete()
        .exclusive()
        .withArgument("foo", "bar")
        .build();
}

相关问题