Как проверить соединение AWS SQS простое - PullRequest
0 голосов
/ 06 декабря 2018

Вот в чем дело, я создаю SQS Connection.Я использую одно и то же соединение для создания потребителей для прослушивания двух разных очередей (Q1, Q2).

Включение и отключение очереди обрабатывается администратором приложения через пользовательский интерфейс.

Таким образом, всякий раз, когда я отключаю приемника Q1, я не должен закрывать соединение и закрывать соединение только тогда, когда отключены оба получателя Q1 и Q2, я не могу позволить себе написать сложный код, чтобы проверить, отключены ли оба потребителя.

  1. Есть ли способ проверить время простоя открытого SQSConnection.

или

Я хотел бы знать стоимость поддержания соединения SQSConnec открытым постоянно

или

Как насчет открытия двух разных соединений

Вот как я создаю соединение

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

1 Ответ

0 голосов
/ 06 декабря 2018

Весь вопрос здесь, кажется, основан на неудачном имени 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. это кажется ненужным по причинам, указанным выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...