Java - AWS - слишком много файлов открыто - PullRequest
0 голосов
/ 26 сентября 2011

Я использую java AWS SDK, чтобы загружать большое количество файлов из одной корзины S3, редактировать файлы и копировать их обратно в другую корзину S3.

Я думаю, что он должен работать нормально, но есть одна строка, которая выдает мне исключения:

когда я использую

    myClient.getObject(myGetObjectRequest, myFile)

Я получаю исключение AmazonClientException, в котором говорится, что открыто слишком много файлов.

Теперь, каждый раз, когда я загружаю файл, редактирую его и копирую обратно в корзину, я удаляю созданные мной временные файлы. Я предполагаю, что удаление файла занимает несколько миллисекунд, и, возможно, именно поэтому я получаю эти ошибки. Или это может быть из-за открытых файлов на стороне Amazon?

В любом случае, я заставлял мое приложение спать в течение 3 секунд каждый раз, когда оно встречало это исключение, таким образом, у него было бы время для закрытия файлов, но это просто занимало слишком много времени. Даже если я возьму это до 1 секунды.

Кто-нибудь сталкивался с этой проблемой? Что мне делать?

Спасибо

1 Ответ

0 голосов
/ 26 сентября 2011

Вы действительно вызываете myFile.close () в какой-то момент?

...