У меня есть следующий код, который используется объектом s3, но, возможно, после возврата будет ожидание:
Не все байты были прочитаны из S3ObjectInputStream, что привело к прерыванию HTTP-соединения. Вероятно, это ошибка, которая может привести к неоптимальному поведению. Запросите только те байты, которые вам нужны, с помощью GET по диапазону или очистите входной поток после использования.
Как мне избавиться от этого предупреждения? Как видите, я уже пробовал использовать rangedget
public CheckMimeTypeResult isValidObjectInQuarantineBucket(String bucket, String key) {
GetObjectRequest request = new GetObjectRequest(bucket, key)
.withRange(0, 1);
try (S3Object s3Object = s3client.getObject(request)) {
String mimeType = getMimeType(s3Object);
CheckMimeTypeResult result = isSupportedMimeType(mimeType) ?
checkMimeType(key, mimeType) : new CheckMimeTypeResult(false, false, mimeType);
log.debug("isValidObjectInQuarantineBucket() - end: key = {}, result = {}", key, result);
return result;
} catch (Exception ex) {
log.warn("Could not detect mime type for key {}. ex = {}", key, ex.getMessage(), ex);
CheckMimeTypeResult result = new CheckMimeTypeResult(false, false, null);
log.debug("isValidObjectInQuarantineBucket() - end: key = {}, result = {}", key, result);
return result;
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... ctinputstr
Как избавиться от предупреждения «Не все байты были прочитаны из S3ObjectInputStream, что приводит к прерыванию HTTP-сое ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение