gpt4 book ai didi

java - RabbitMQ + Spring 集成。队列大小1,仅在覆盖时删除

转载 作者:行者123 更新时间:2023-11-30 06:22:37 27 4
gpt4 key购买 nike

我现在想知道是否可以使用 RabbitMQ 和 Spring Integration 来实现这个想法:

  1. 一个队列,可容纳 1 条消息。
  2. 消费者将请求此消息,如果队列中存在该消息,则会将其传递给他们,如果不存在,他们会收到 null 或错误。
  3. 该消息(如果队列中存在)不会因下载而被删除,只有当生产者将另一条新消息放入队列时才会被删除。

最诚挚的问候!

最佳答案

类似这样的事情:

@Transactional
public Message getMessageFromQueue(String queue) {
try {
return this.rabbitTemplate.receive(queue);
}
finally {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
}

通过事务范围,我们将轮询事务内的队列。使用 setRollbackOnly() 我们回滚 TX,因此将消息返回到队列。

关于java - RabbitMQ + Spring 集成。队列大小1,仅在覆盖时删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47817437/

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