我有一个控制器方法消耗来自AMQP队列的消息 - 但我不想确认这些消息,直到我确信执行http请求的客户端获取了数据(以防万一没有数据丢失)离开控制器方法后,http请求将失败。
到目前为止,我能够找到的是你可以使用Spring拦截器来实现“afterCompletion”,它将在请求成功完成后调用。但这感觉有点矫枉过正?
答案 0 :(得分:0)
您可以在http
请求完成后通过将代码置于http呼叫下面来确认... 如如果发生异常而不是确认
否则承认
channel.basicAck(DeliveryTag, false);