我正在使用Spring JMS与Amazon SQS队列进行通信。我设置了一些队列并连接了监听器,但是应用程序当前没有通过它们发送任何消息。 AWS每月允许100万个免费请求,我认为这应该没有问题,但是一个月之后我收到了一小笔费用来超过这个限制。
有没有办法调整SQS或Spring JMS来降低请求?
我假设一个请求是我的应用轮询队列以检查新消息。有些队列不需要接近实时,所以我绝对可以减少这些请求。我很感激您可以提供有关SQS和Spring JMS如何通信的任何见解。
答案 0 :(得分:0)
“正常”JMS客户端在轮询消息时不轮询服务器 - 服务器将消息推送到客户端,轮询只在本地完成。
如果SQS客户端轮询服务器,那至少可以说是不寻常的,但如果它正在使用REST调用,我可以看到为什么会发生这种情况。
增加容器的receiveTimeout
(默认为1秒)可能会有所帮助,但不知道客户端在幕后做了什么,很难说清楚。