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;
}
});