我在我的项目中使用AWS SQS和Spring JMS。我有@JmsListener的方法(destination =" queue_name")。我想将此队列用于两种不同类型的消息。
由于此侦听器配置为此队列,因此它会接收这两种类型的消息。我想要实现的是忽略一种类型的消息。 (发送者在向队列发送消息时添加MessageAttribute)。那么,有没有办法忽略来自发件人2的邮件,所以这种方法不会处理它们。
此外,我在此队列上设置了DLQ,最大接收为5.因此,如果在前5次尝试中未处理消息,则会将其移至DLQ。
请分享您的建议。
感谢。
答案 0 :(得分:2)
正确的解决方案是使用2个不同的队列; SQS无法过滤任何属性传递的消息,因此,当您看到,当客户端读取消息并且不处理消息时,它将更快地在DLQ中结束。
队列是免费的,因此拥有多个队列将不再需要花费。