Я довольно новыми для AWS SDKS3 утечка соединения клиента после исключения
Я пытаюсь получить файл с S3, но этот файл не может существовать, и, видимо, есть простой способ проверить, что с Клиент Amazon S3, поэтому я пытаюсь получить этот объект в любом случае, а внутри обработки исключений я проверяю наличие сообщения error.equals («noSuchKey»). (Я знаю, что использование исключения для контроля такого потока не является лучшей практикой, но не может найти лучшего способа)
Но тогда проблема в том, что клиент-пул http вызывает утечку ресурсов, и я не могу найти способ закрыть Это.
Вот код:
AWSCredentials myCredentials = new BasicAWSCredentials(myAccessKeyID, mySecretKey);
AmazonS3 s3Client = new AmazonS3Client(myCredentials)
S3Object object = null;
GetObjectRequest req = new GetObjectRequest(bucketName, fileName);
try{
object = s3Client.getObject(req);
//the following line is not reached because of the exception
InputStream objectData = object.getObjectContent();
//do something
//close everything
} catch(AmazonServiceException e){
if(e.getErrorCode().equals("NoSuchKey")){
//do something
//here the 'object' is null, I don't have a reference to call close -> resource leak
}
else{
DebugLog.d(e);
}
} catch(IOException e){
DebugLog.d(e);
}
в предложении улова объект становится пустым, так что я не могу закрыть it..nor я могу закрыть любого из его входных потоков. Журнал дает мне:
423835 [java-sdk-http-connection-reaper] DEBUG org.apache.http.impl.conn.PoolingClientConnectionManager - Closing connections idle longer than 60 SECONDS
483835 [java-sdk-http-connection-reaper] DEBUG org.apache.http.impl.conn.PoolingClientConnectionManager - Closing connections idle longer than 60 SECONDS
repeat..........
, если я называю этот метод и ввести условие поймать несколько раз, сервер становится крайне медленно, что является явным признаком того, что каждый раз, когда новый PoolingClientConnectionManager инициализируется, но я просто не могу» t найти способ закрыть его
Любая идея о том, как я могу ее закрыть? Или как я могу избежать использования обработки исключений в первую очередь?