如何在HTTP请求完成后正确地响应AMQP消息

时间:2013-01-24 15:25:00

标签: spring spring-mvc rabbitmq amqp spring-amqp

我有一个控制器方法消耗来自AMQP队列的消息 - 但我不想确认这些消息,直到我确信执行http请求的客户端获取了数据(以防万一没有数据丢失)离开控制器方法后,http请求将失败。

到目前为止,我能够找到的是你可以使用Spring拦截器来实现“afterCompletion”,它将在请求成功完成后调用。但这感觉有点矫枉过正?

1 个答案:

答案 0 :(得分:0)

您可以在http请求完成后通过将代码置于http呼叫下面来确认... 如果发生异常而不是确认 否则承认

channel.basicAck(DeliveryTag, false);