我正在使用Amazon SQS队列异步消费消息。我使用了Amazon SQS JMS API开始消费消息。因此,我实现了MessageListener,在onMessage方法中收到消息时进行处理。由于Amazon SQS的收费是基于向服务器发出的请求次数计算的,所以我希望将轮询间隔限制为1分钟或更长时间,因为我不需要立即收到消息。
有没有办法在JMS中配置轮询间隔?或者我应该使用Amazon SQS API自行处理这个问题。
谢谢
我正在使用Amazon SQS队列异步消费消息。我使用了Amazon SQS JMS API开始消费消息。因此,我实现了MessageListener,在onMessage方法中收到消息时进行处理。由于Amazon SQS的收费是基于向服务器发出的请求次数计算的,所以我希望将轮询间隔限制为1分钟或更长时间,因为我不需要立即收到消息。
有没有办法在JMS中配置轮询间隔?或者我应该使用Amazon SQS API自行处理这个问题。
谢谢
consumer.receive(timeout)
,而不是消息监听器。你可以在需要的时候才进行接收调用。请查看我以前写过的关于这个主题的博客文章:http://thedulinreport.com/2015/05/09/guaranteeing-delivery-of-messages-with-aws-sqs/
该博客文章解释了如何仅使用 AWS SDK 实现异步监听器,并提供了在 github 上示例的链接。