如何使用 Amazon SQS Spring 云注释 @SqsListener 轮询特定数量的消息
Posted
技术标签:
【中文标题】如何使用 Amazon SQS Spring 云注释 @SqsListener 轮询特定数量的消息【英文标题】:How to Poll for a specific number of messages using Amazon SQS Springn cloud annotation @SqsListener 【发布时间】:2020-09-01 18:05:21 【问题描述】:需要:一次轮询/收听10条消息(具体计数不基于轮询时间) 现有代码库默认使用基于时间的 spring cloud aws 消息轮询。 现在需要根据消息数进行轮询。
寻找与以下代码类似的基于注释的配置方法
@SqsListener(value = "xxx-sqs",deletionPolicy = ON_SUCCESS)
public void auditProcessor(String json) throws IOException
log.info("*********** Inside Listner***********");
log.info("JSON Data "+json);
对此的任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:从SQS请求的消息数量可以是configured in SimpleMessageListenerContainerFactory。
话虽如此,SQS 的工作方式是,即使您请求 10 条消息,也无法保证即使队列中有更多消息,您也会得到 10 条消息。您只能确定不会超过 10 个。
【讨论】:
以上是关于如何使用 Amazon SQS Spring 云注释 @SqsListener 轮询特定数量的消息的主要内容,如果未能解决你的问题,请参考以下文章
Amazon SQS java sdk 在使用 500 条消息后停止