使用Spring AMPQ批量接收

时间:2017-08-22 07:23:11

标签: javamail spring-amqp

我们正在使用@RabbitListener来处理一条又一条消息并使用JavaMail发送生成的电子邮件到一些SMTP。

现在请求在特定消息数量后关闭与SMTP的连接。我已经阅读了有关ChannelAwareMessageListener和手册ack的内容。通过这种方式,您可以使用单个确认来确认所有批处理消息,但我需要能够只读取一些消息,然后只确认那些将成功发送到SMTP的消息,其他消息需要使用。

在计算消息后如何关闭SMTP连接的其他任何想法?

1 个答案:

答案 0 :(得分:1)

为未打包的投放标记保留一个列表,然后在准备好后使用channel.basicAck(goodTag, false)basicReject(badTag, false)

您应该只在侦听器线程上执行此操作。