如何检查aws sqs连接空闲时间

cnwbcb6i  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(392)

事情是这样的,我正在创建一个sqs连接。我使用相同的连接来创建消费者,以侦听两个不同的队列(q1、q2)。
启用和禁用队列由应用程序的管理用户通过ui处理。
因此,每当我禁用q1消费者时,我就不应该关闭连接,并且只有当q1和q2消费者都禁用时才关闭连接,我无法编写复杂的代码来检查这两个消费者是否都禁用了。
是否有方法检查打开的SQS连接的空闲时间。

我想知道保持SQS连接一直开放的成本

打开两个不同的连接怎么样
下面是我如何创建连接的

SQSConnectionFactory connectionFactory = new SQSConnectionFactory(
            new ProviderConfiguration(), ((AmazonSQSClientBuilder)
                AmazonSQSClientBuilder.standard().withRegion(sqsRegion)).
                withCredentials(
                    _getCredentialsProvider(awsSecretKey, awsAccessKey)));
_connection = connectionFactory.createConnection();
bgtovc5b

bgtovc5b1#

整个问题,在这里,似乎是以这个不幸的名字为前提的 SQSConnectionFactory ,这不是真正的情况。更准确的名字可能是 SQSConfiguredClientFactory .
没有一个 createConnection 方法建立与sqs的物理连接
https://github.com/awslabs/amazon-sqs-java-messaging-lib/blob/master/src/main/java/com/amazon/sqs/javamessaging/sqsconnectionfactory.java
…因为sqs实际上并不使用已建立/连续的“连接”
服务api交互通过https进行,与其他方法(例如。 receiveMessage(queueUrl) )我需要他们。
关于你的问题:1。在任何有意义的/相关的意义上,连接都没有“打开”,因此没有什么需要检查的;2.唯一的成本来自实际使用连接发送/接收/删除消息;和3。出于上述原因,这似乎是不必要的。

相关问题