我有一个从AWS SQS返回消息的函数:
public List<Message> getMessagesFromQueue(String queueUrl){
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(queueUrl);
List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages();
return messages;
}
问题是它每次都会发出不同数量的消息,而不是我队列中的所有4条消息。
我发现了什么问题:
由于Amazon SQS是一个分布式系统,我们在这里使用的特定队列中只有很少的消息,因此对接收请求的响应可能为空。因此,您应该重新运行示例,直到收到消息。您应该设计自己的应用程序,以便它继续轮询队列,直到它收到一条或多条消息。
问题在于我不知道如何实现它以获得整个队列。
提前谢谢你,Jan。