2017-04-26 185 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