JmsListener和SQS

时间:2016-11-10 22:35:51

标签: spring jms aws-sdk amazon-sqs spring-jms

我使用org.springframework.jms.annotation.JmsListenerConfigurer

使用spring配置JMS

我正在使用亚马逊的SQS:

amazonSQS()createQueue方法(queueRequest).getQueueUrl(); endpoint.setMessageListener(agentActionListener());

我有一个用例,其中我有相同的消息格式,但我需要有一个DelaySeconds为60的队列,另一个没有延迟的队列立即处理。

亚马逊的SDK提供了一个消息计时器,因此您可以设置单个消息的延迟,而不是指定队列本身的延迟,但遗憾的是,Spring并不支持此消息(https://github.com/spring-cloud/spring-cloud-aws/issues/101)。

我的问题很简单:

鉴于我使用的是通用消息格式,唯一的区别是一个队列配置为使用延迟,我可以使用相同的JMS侦听器来处理这两个队列吗?

onMessage逻辑是相同的。我只是想确保JMS方面没有一些限制。

提前致谢。

1 个答案:

答案 0 :(得分:1)

  

鉴于我使用的是常见的消息格式和唯一的区别   是一个队列配置为使用延迟,我可以使用相同的JMS   监听器处理两个队列?

您需要配置两个消息侦听器,以便两者可以同时处理消息,并且还需要将onmessage逻辑移动到公共处理程序(以重用相同的代码)。

两个消息侦听器重用相同的逻辑,但并行运行。