对不同的消息类型使用aws sqs

时间:2017-10-03 21:56:28

标签: amazon-web-services java-8 amazon-sqs spring-jms

我在我的项目中使用AWS SQS和Spring JMS。我有@JmsListener的方法(destination =" queue_name")。我想将此队列用于两种不同类型的消息。

由于此侦听器配置为此队列,因此它会接收这两种类型的消息。我想要实现的是忽略一种类型的消息。 (发送者在向队列发送消息时添加MessageAttribute)。那么,有没有办法忽略来自发件人2的邮件,所以这种方法不会处理它们。

此外,我在此队列上设置了DLQ,最大接收为5.因此,如果在前5次尝试中未处理消息,则会将其移至DLQ。

请分享您的建议。

感谢。

1 个答案:

答案 0 :(得分:2)

正确的解决方案是使用2个不同的队列; SQS无法过滤任何属性传递的消息,因此,当您看到,当客户端读取消息并且不处理消息时,它将更快地在DLQ中结束。

队列是免费的,因此拥有多个队列将不再需要花费。