我一直在尝试使用AWS SDK for

Java从SQS队列中检索所有消息的几种方法无济于事.我已经了解了AWS SQS的分布式特性,并且消息存储在不同的服务器上.但我不明白为什么这个架构不会被最终用户隐藏.我需要在Java代码中应用哪些技巧来检索所有消息,并且100%确定没有人错过?

我试着用“长轮询”:

ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(myQueueUrl);

List messages = sqs.receiveMessage(receiveMessageRequest).getMessages();

for (Message message : messages) {

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 entry : message.getAttributes().entrySet()) {

System.out.println(" Attribute");

System.out.println(" Name: " + entry.getKey());

System.out.println(" Value: " + entry.getValue());

}

}

System.out.println();

这与请求批处理/客户端缓​​冲:

// Create the basic Amazon SQS async client

AmazonSQSAsync sqsAsync = new AmazonSQSAsyncClient();

// Create the buffered client

AmazonSQSAsync bufferedSqs = new AmazonSQSBufferedAsyncClient(sqsAsync);

CreateQueueRequest createRequest = new CreateQueueRequest().withQueueName("MyTestQueue");

CreateQueueResult res = bufferedSqs.createQueue(createRequest);

SendMessageRequest request = new SendMessageRequest();

String body = "test message_" + System.currentTimeMillis();

request.setMessageBody( body );

request.setQueueUrl(res.getQueueUrl());

SendMessageResult sendResult = bufferedSqs.sendMessage(request);

ReceiveMessageRequest receiveRq = new ReceiveMessageRequest()

.withMaxNumberOfMessages(10)

.withQueueUrl(queueUrl);

ReceiveMessageResult rx = bufferedSqs.receiveMessage(receiveRq);

List messages = rx.getMessages();

for (Message message : messages) {

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 entry : message.getAttributes().entrySet()) {

System.out.println(" Attribute");

System.out.println(" Name: " + entry.getKey());

System.out.println(" Value: " + entry.getValue());

}

}

但我仍然无法检索所有消息.

任何的想法?

AWS论坛对我的帖子保持沉默.

aws sqs java_AWS SQS Java.并非所有消息都从SQS队列中检索相关推荐

  1. 什么是JMS(Java Message Service消息服务)

    JMS的定义 JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息 ...

  2. Java学习日报—消息队列—2021/11/23

    1. 消息队列 1.1 基本概念 消息队列的本质就是发送 -存储 - 消费: 生产者先将消息投递一个叫做「队列」的容器中,然后再从这个容器中取出消息,最后再转发给消费者,仅此而已. 这是传统的队列模型 ...

  3. RabbitMQ 从入门到精通 消息应答 持久化 交换机 队列 发布确认 集群 等

    RabbitMQ消息队列 RabbitMQ 的概念 RabbitMQ 是一个消息中间件:它接受并转发消息.你可以把它当做一个快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递员最终会把你的快 ...

  4. 原生 Java 客户端进行消息通信

    原生 Java 客户端进行消息通信 Direct 交换器 DirectProducer:direct类型交换器的生产者 NormalConsumer:普通的消费者 MulitBindConsumer: ...

  5. java消息通信_原生 Java 客户端进行消息通信

    原生 Java 客户端进行消息通信 Direct 交换器 DirectProducer:direct类型交换器的生产者 NormalConsumer:普通的消费者 MulitBindConsumer: ...

  6. Java 帝国之消息队列

    张家村的历史 Java 帝国的张家村正在迎来一次重大的变革. 5年前网上购物兴起的时候, 帝国非常看好, 决定向这个领域进军, 于是兴建了张家村, 在这里安装了Java 虚拟机和数据库, 然后部署了一 ...

  7. rabbitmq java实例_RabbitMQ消息队列入门篇(环境配置+Java实例+基础概念)

    转载http://blog.csdn.net/u013142781 一.消息队列使用场景或者其好处 消息队列一般是在项目中,将一些无需即时返回且耗时的操作提取出来,进行了异步处理,而这种异步处理的方式 ...

  8. java并发包消息队列

    消息队列常用于有生产者和消费者两类角色的多线程同步场景 BlockingQueue也是java.util.concurrent下的主要用来控制线程同步的工具. 主要的方法是:put.take一对阻塞存 ...

  9. java tcp发消息给硬件_java – TCP客户端/服务器通信只发送第一条消息?

    我在java中设置一个简单的TCP客户端服务器交互. 服务器: 服务器是用Java编写的桌面客户端: import java.io.BufferedReader; import java.io.Dat ...

最新文章

  1. SQL创建表语句文档
  2. PDF审计工具peepdf
  3. pyzbar Unable to find zbar shared library
  4. HDU1978 记忆化搜索
  5. 编程之美----不要被阶乘吓到
  6. oracle用户登录的认证方式
  7. REST设计模式简介
  8. 如何降低SQL语句复杂度
  9. 《黑客秘笈——渗透测试实用指南》—第2章2.3节 外部或内部的主动式信息收集...
  10. ftp 追加远程文件_远程办公彻底火了,高效办公,拒绝卡顿,远程利器你选对了么?...
  11. mysql update 联合更新_Mysql update多表联合更新的方法小结
  12. 机器学习(十)Mean Shift 聚类算法
  13. 创建向导时为其添加path,指为jar添加到path里面
  14. 想知道自己的物理内存地址都是如何分配的么?
  15. jQuery源码阅读
  16. FroalaEditor使用方法汇总
  17. .与localhost与 .\sqlexpress的区别
  18. 时间序列预测方法及多步预测方法汇总
  19. 幻数java题_关于数组中的幻数?:数组中的幻数? -C ++
  20. 中国第一程序员——求伯君(二)

热门文章

  1. python 快速排序算法
  2. Kafka史上最详细原理总结(一)
  3. vb6 webclass是做什么的_牛奶变酸奶,都发生了什么变化?哪些营养多了?哪些营养少了?...
  4. OpenCore(OC)引导开机声音与图形界面设置
  5. vue报错 vue-router.esm.js?8c4f:2089 Uncaught (in promise)
  6. 在应届生眼中:非算法程序员,刷题的意义
  7. ResNet-50网络理解
  8. 忘记虚拟机主机管理员登录密码
  9. Amazon亚马逊 EDI 753和754是什么?
  10. postgre 主键_PostgreSQL实现主键索引