我使用Amazon SQS队列异步消费消息。 我已经开始消耗使用Amazon SQS JMS API的消息。 所以,我已经实现MessageListener的,做我的工作,一旦消息onMessage方法到达。 因为亚马逊SQS基于请求我想轮询间隔限制到1分钟或可能更多,因为我不立即需要消息的服务器取得被充电。
我反正我们就可以在JMS配置轮询间隔,或者我应该使用Amazon SQS API来处理这对我自己的。
谢谢
我使用Amazon SQS队列异步消费消息。 我已经开始消耗使用Amazon SQS JMS API的消息。 所以,我已经实现MessageListener的,做我的工作,一旦消息onMessage方法到达。 因为亚马逊SQS基于请求我想轮询间隔限制到1分钟或可能更多,因为我不立即需要消息的服务器取得被充电。
我反正我们就可以在JMS配置轮询间隔,或者我应该使用Amazon SQS API来处理这对我自己的。
谢谢
在这种情况下,您可以选择同步接收调用即consumer.receive(timeout)
而不是消息监听器。 当你想你只能接收呼叫。
我也想知道一个位作为onMessage方法应该由SQS消息提供者被调用时,才会有在队列中的消息。 不应该有任何这里涉及投票。
更新:
SQS提供一个JMS实现。 所以AsyncMessageListener绝对应该做你正在寻找的工作。 这AsyncMessageListener样品应该帮助你。
看看我的博客文章我写了前阵子关于这个问题: http://thedulinreport.com/2015/05/09/guaranteeing-delivery-of-messages-with-aws-sqs/
该博客文章介绍了如何实现使用无非是AWS SDK异步听众以及提供链接到GitHub上的例子。