Я пытаюсь изучить Amazon SQS. Я посылаю несколько запросов сообщений на мою SQS какКоличество сообщений в Amazon 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 запросов сообщений в моей очереди. Что я упускаю? Или я понял неправильно? Пожалуйста, поправьте меня.
Когда я пытаюсь getQueueAttributes, как вы сказали, я вижу "{Атрибуты: {}}" – Prasanna
Вы отправляете список атрибутов, которые хотите вернуть? См. [Эту тему] (https://forums.aws.amazon.com/thread.jspa?threadID=70348) для примера –