Почему IOUtils.close тихо устарело? - PullRequest
0 голосов
/ 22 апреля 2020

IOUtils.closeQuietly кажется устаревшим в пользу TryWithResources, но как это может помочь мне, когда нужно закрыть ресурс в слушателе событий asyn c, нравится это, когда я загружаю файлы с AmazonS3 и TransferManager?

final String key = rs.getString("id");
final InputStream data = rs.getBinaryStream("data");
final long length = rs.getLong("length");
ObjectMetadata objectMetadata = new ObjectMetadata();
objectMetadata.setContentLength(length);

Upload upload = transferManager.upload(s3bucketName, key, data, objectMetadata);
upload.addProgressListener((com.amazonaws.event.ProgressListener) p -> {
    switch (p.getEventType()) {
    case TRANSFER_COMPLETED_EVENT:
    case TRANSFER_FAILED_EVENT:
    case TRANSFER_CANCELED_EVENT:
        IOUtils.closeQuietly(data);
    default:
        break;
    }
});
...