Ric*_*oli 1 amazon-sqs aws-sdk spring-cloud
我们有一个SQS侦听器,例如:
@MessageMapping("queueName")
void listen(String message) { ... }
Run Code Online (Sandbox Code Playgroud)
此队列具有配置有关联的死信队列的重新驱动策略。
问题是默认的Spring Cloud AWS实施是在轮询消息时删除消息,并在内部进行3次重试以进行处理,然后失败。
我可以看到有一个带有ALWAYS和ON_SUCCESS值的SqsMessageDeletionPolicy枚举。我在任何文档中都找不到如何更改该队列的QueueAttributes以更改此行为。
有谁知道吗
似乎解决方案基本上是使用SQS特定注释而不是通用注释:
@SqsListener(value = "queueName", deletionPolicy = SqsMessageDeletionPolicy.ON_SUCCESS)
void listen(String message) { ... }
Run Code Online (Sandbox Code Playgroud)
接受的答案显示了如何为单个队列配置删除策略,
如果要设置所有人都使用的全局删除策略,@SqsListener可以使用属性来设置:
cloud.aws.sqs.handler.default-deletion-policy=ON_SUCCESS
| 归档时间: |
|
| 查看次数: |
1366 次 |
| 最近记录: |