Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.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 如何检查AWS SQS连接空闲时间_Java_Amazon Web Services - Fatal编程技术网

Java 如何检查AWS SQS连接空闲时间

Java 如何检查AWS SQS连接空闲时间,java,amazon-web-services,Java,Amazon Web Services,事情是这样的, 我正在创建一个SQS连接。我使用相同的连接创建消费者,以侦听两个不同的队列(Q1、Q2) 启用和禁用队列由应用程序的管理员用户通过UI处理 因此,每当我禁用Q1消费者时,我不应该关闭连接,并且只有当Q1和Q2消费者都被禁用时才关闭连接,我无法编写复杂的代码来检查这两个消费者是否都被禁用 是否有方法检查开放式SQS连接的空闲时间 或 我想知道保持SQS连接始终打开的成本 或 打开两个不同的连接怎么样 下面是我创建连接的方式 SQSConnectionFactory connecti

事情是这样的, 我正在创建一个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();
    

    在这里,整个问题似乎是以一个不幸的名字
    SQSConnectionFactory
    为前提的,而这个名字并不是真正意义上的。更准确的名称可能是
    SQSConfiguredClientFactory

    没有任何
    createConnection
    方法设置到SQS的物理连接

    …因为SQS实际上不使用已建立/连续的“连接”

    服务API交互通过HTTPS进行,在其他方法(例如,
    receiveMessage(queueUrl)
    )需要临时连接时,会创建、保持活动状态并销毁临时连接

    因此,关于你的问题:1。在任何有意义/相关的意义上,连接都不会保持“打开”,因此没有什么需要检查的;2.唯一的成本来自实际使用连接发送/接收/删除消息;三,。出于上述原因,这似乎是不必要的