Java 如何检查AWS SQS连接空闲时间
事情是这样的, 我正在创建一个SQS连接。我使用相同的连接创建消费者,以侦听两个不同的队列(Q1、Q2) 启用和禁用队列由应用程序的管理员用户通过UI处理 因此,每当我禁用Q1消费者时,我不应该关闭连接,并且只有当Q1和Q2消费者都被禁用时才关闭连接,我无法编写复杂的代码来检查这两个消费者是否都被禁用Java 如何检查AWS SQS连接空闲时间,java,amazon-web-services,Java,Amazon Web Services,事情是这样的, 我正在创建一个SQS连接。我使用相同的连接创建消费者,以侦听两个不同的队列(Q1、Q2) 启用和禁用队列由应用程序的管理员用户通过UI处理 因此,每当我禁用Q1消费者时,我不应该关闭连接,并且只有当Q1和Q2消费者都被禁用时才关闭连接,我无法编写复杂的代码来检查这两个消费者是否都被禁用 是否有方法检查开放式SQS连接的空闲时间 或 我想知道保持SQS连接始终打开的成本 或 打开两个不同的连接怎么样 下面是我创建连接的方式 SQSConnectionFactory connecti
SQSConnectionFactory connectionFactory = new SQSConnectionFactory(
new ProviderConfiguration(), ((AmazonSQSClientBuilder)
AmazonSQSClientBuilder.standard().withRegion(sqsRegion)).
withCredentials(
_getCredentialsProvider(awsSecretKey, awsAccessKey)));
_connection = connectionFactory.createConnection();
在这里,整个问题似乎是以一个不幸的名字
SQSConnectionFactory
为前提的,而这个名字并不是真正意义上的。更准确的名称可能是SQSConfiguredClientFactory
没有任何createConnection
方法设置到SQS的物理连接
…因为SQS实际上不使用已建立/连续的“连接”
服务API交互通过HTTPS进行,在其他方法(例如,receiveMessage(queueUrl)
)需要临时连接时,会创建、保持活动状态并销毁临时连接
因此,关于你的问题:1。在任何有意义/相关的意义上,连接都不会保持“打开”,因此没有什么需要检查的;2.唯一的成本来自实际使用连接发送/接收/删除消息;三,。出于上述原因,这似乎是不必要的