2

我有一个控制器方法使用来自 AMQP 队列的消息 - 但我不想确认这些消息,直到我尽可能确定发出 http 请求的客户端获得了数据(这样在 http 请求的情况下不会丢失数据离开控制器方法后会失败)。

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

4

1 回答 1

0

您可以在http请求完成后通过将代码确认到该 http 调用下方来确认...例如如果发生异常而不是不确认 else 确认

channel.basicAck(DeliveryTag, false);
于 2013-04-02T06:16:46.947 回答