2017-04-26 191 views
0

我试图使用camel来消费Amazon SQS的消息。队列中没有消息

<from uri="aws-sqs://{{aws.sqs.queue}}?amazonSQSClient=#sqsClient&amp;delay=10000"/> 
<to uri="bean:sqsQueueListener?method=consumeMessage(${body})"/> 

处理程序看起来像这样(我原本并没有xml指定它,因为注解应该有处理它,但它没有工作,所以我就直接将它定义)

class SqsQueueListener { 
    @Handler 
    public void consumeMessage(List<Message> messages) { 
     LOGGER.info("Got messages: [{}].", messages); 
    } 
} 

10 seconds我得到的关于在我的应用程序中实例化AmazonSQS客户端的消息,因为它正尝试从队列中读取。但是没有任何反应。我没有收到关于消费信息的消息。

什么问题?

+0

是否有消息要从队列中消耗? –

回答

0

您是否已将处理程序添加到名为“sqsClient”的骆驼上下文连接的注册表中?

+0

是的。我使用spring,所以它应该从应用上下文中获得bean – lapots