Есть ли рекомендуемый способ управления соединением с AmazonS3 при работе с AWS?
Типичный код Amazon S3 (взятый из официального образца Amazon) выглядит обычно так:
AmazonS3 s3 = new AmazonS3Client(...);
...
s3.putObject(new PutObjectRequest(bucketName, project.getName() + "/" + imageFile.getName(), imageFile));
Ниже приведены вопросы:
-
Хорошо ли поддерживать один AmazonS3Client, используемый всеми в коде, или лучше создать его для каждого вызова?
-
Существует ли концепция пула соединений, например, при работе с MySQL?
-
Возникают такие вопросы, как разъединение (MySQL-аналогия: MySQL была перезапущена), так что AmazonS3Client станет недействительным и потребует повторного создания? Что было бы правильным способом справиться с отключением, если да?
-
Кто-нибудь знает, какие функции обеспечивают интеграция spring с aws at: https://github.com/spring-projects/spring-integration-extensions/tree/master/spring-integration-aws
спасибо.