Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 列表<;信息>;虽然我传递了许多消息,但只包含一条消息_Java_Amazon Web Services_Message_Amazon Sqs - Fatal编程技术网

Java 列表<;信息>;虽然我传递了许多消息,但只包含一条消息

Java 列表<;信息>;虽然我传递了许多消息,但只包含一条消息,java,amazon-web-services,message,amazon-sqs,Java,Amazon Web Services,Message,Amazon Sqs,当我向我的SQS发送多条消息并像 //向队列发送消息 SendMessageRequest smr = new SendMessageRequest(queueUrl, "one"); sqs.sendMessage(smr); smr = new SendMessageRequest(queueUrl, "two"); sqs.sendMessage(smr); smr = new SendMessageRequest(queueUrl, "three"

当我向我的SQS发送多条消息并像

//向队列发送消息

    SendMessageRequest smr = new SendMessageRequest(queueUrl, "one");
    sqs.sendMessage(smr);
    smr = new SendMessageRequest(queueUrl, "two");
    sqs.sendMessage(smr);
    smr = new SendMessageRequest(queueUrl, "three");
    sqs.sendMessage(smr);
    Thread.sleep(5000);
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(queueUrl);
List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages();
//读取队列

    SendMessageRequest smr = new SendMessageRequest(queueUrl, "one");
    sqs.sendMessage(smr);
    smr = new SendMessageRequest(queueUrl, "two");
    sqs.sendMessage(smr);
    smr = new SendMessageRequest(queueUrl, "three");
    sqs.sendMessage(smr);
    Thread.sleep(5000);
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(queueUrl);
List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages();
ReceiveMessageRequest ReceiveMessageRequest=new ReceiveMessageRequest(queueUrl);
List messages=sqs.receiveMessage(receiveMessageRequest.getMessages();
我的列表中只有一条消息


当我第二次重复“阅读队列”时,我得到第二条消息,当我第三次重复时,我得到第三条消息。从队列中检索的消息是随机顺序的。但是为什么我没有得到
列表中的所有3条消息呢

您需要在请求中设置
maxNumberOfMessages

试一试

看看你能不能全部拿到

编辑

事实上,我刚刚看到了这个,我想你不会一次收到所有的信息。您将需要多次调用该方法。

我们将等待超时设置为20并获得倍数。在获取所有邮件之前,您可能已经没有时间了。

阅读邮件后删除邮件将允许您访问队列中的其他邮件。因此,您必须拨打多个电话才能查看所有邮件

这对我很有用:
sqs.deleteMessage(sqsqueurl,message.getReceiptHandle())