spring - RabbitTemplate 接收并重新排队

标签 spring spring-amqp

我想从队列中接收消息并立即使它们出队,事实上我想模仿 rabbitMQ 管理控制台的行为,它可以接收消息并重新排队。

所以我的问题是如何做到这一点?起初我试图克隆消息并重新发送它们,但似乎 rabbitTemplate 无法将消息直接发送到队列并将它们发送到交换不是一个选项,因为它可能是多个队列将再次收到消息。

然后我开始考虑我可以接收一条消息,然后以某种方式 NACK 它,以便它最终回到队列中。唯一的问题是我应该怎么做?

最佳答案

我想你可以用 basicReject 来实现:

public class MyListener implements ChannelAwareMessageListener {

   public void onMessage(Message message, Channel channel) throws Exception {
        //Do something with message
        channel.basicReject(message.getMessageProperties().getDeliveryTag(), true);
   }

}

关于spring - RabbitTemplate 接收并重新排队,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25876178/

相关文章:

java - Spring AMQP : would like to put message to queue and send ACK immediately

spring-amqp - 试图从 <rabbit :> xml name space config to a java @Configurable cannot replicate 迁移过来

rabbitmq - Ramdom com.rabbitmq.client.ShutdownSignalException : connection error

java - Spring 属性(property)整合

spring - 在数据库中存储表单登录 session

java - Spring + RabbitMQ Exponential Backoff with RetryTemplate 无响应

tomcat - Rabbitmq交换扇出问题

java - 在 Spring MVC 3.2.4 中将资源映射到 jsp

java - @Value 在 SpEL 中如何工作?

java - Spring MVC 不从 webapp 加载静态资源