我正在嘗試學習Amazon SQS。我發送多個消息請求我的SQS像亞馬遜SQS中的郵件數量
sendMessage(sqs, qUrl, "message 1");
sendMessage(sqs, qUrl, "message 2");
sendMessage(sqs, qUrl, "message 3");
sendMessage(sqs, qUrl, "message 4");
sendMessage(sqs, qUrl, "message 5");
注:在我傳遞的參數,SQS和qUrl都是一樣的。
//的sendMessage方法:
public void sendMessage(AmazonSQS sqs, String queueUrl, String msg){
SendMessageRequest smr = new SendMessageRequest(queueUrl, msg);
sqs.sendMessage(smr);
}
但仍當我嘗試在隊列計數numberOfRequests,它是1,而不是5
public int countRequests(AmazonSQS sqs, String queueUrl){
// Receive messages
int numberOfMessages=0;
System.out.println("Receiving messages");
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(queueUrl);
messages = sqs.receiveMessage(receiveMessageRequest).getMessages();
for (Message message : messages) {
numberOfMessages++;
System.out.println(" Message");
System.out.println(" MessageId: " + message.getMessageId());
System.out.println(" ReceiptHandle: " + message.getReceiptHandle());
System.out.println(" MD5OfBody: " + message.getMD5OfBody());
System.out.println(" Body: " + message.getBody());
for (Entry<String, String> entry : message.getAttributes().entrySet()) {
System.out.println(" Attribute");
System.out.println(" Name: " + entry.getKey());
System.out.println(" Value: " + entry.getValue());
}
}
return numberOfMessages;
}
這裏,
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(queueUrl);
messages = sqs.receiveMessage(receiveMessageRequest).getMessages();
「消息」僅收到的最後一條消息,而不是第一個4
我的理解是,我應該有我的隊列中5個消息請求。我錯過了什麼?還是我錯誤地理解了?請糾正我。
當我嘗試獲取QueueAttributes,如您所說,我看到「{Attributes:{}}」 – Prasanna 2013-05-05 15:36:02
您是否在要返回的屬性列表中發送?查看[此線程](https://forums.aws.amazon.com/thread.jspa?threadID=70348)爲例 – 2013-05-05 15:51:01