Запрос URL-адреса очереди AWS SQS с помощью Java SDK
Большинство операций AWS Java SDK для SQS требуют URL-адреса очереди.
Учитывая имя очереди, URL-адрес очереди может быть запрошен с помощью GetQueueUrl
операция.
Ли AmazonSQS
клиент автоматически кеширует результат этой операции, или это зависит от приложения, чтобы кэшировать URL-адрес очереди, чтобы избежать повторных запросов?
1 ответ
Если мы посмотрим на код AWS Java SDK на GitHub, то увидим, что getQueueUrl()
запускает обычные хуки подготовки клиента (которые не включают в себя кэширование), а затем сразу же переходит к executeGetQueueUrl()
который делает запрос, также без кеширования. Интересно, что, кажется, есть URI cachedEndpoint = null;
это, кажется, нигде не используется (может быть, я что-то упустил?).
Сделав шаг назад, это имеет смысл. Автоматическое кэширование ответа в SDK может быть опасным для приложений, использующих его, поэтому решение о кэшировании или не кэшировании остается за логикой приложения, которой он принадлежит. Так что, если вам нужно кэшировать ответы, вам решать, как долго вы хотите кэшировать его и где / как его хранить.