Притворная загрузка многочастного файла периодически завершается с ошибкой RetryableException: неполный выходной потокJAVA

Программисты JAVA общаются здесь
Anonymous
Притворная загрузка многочастного файла периодически завершается с ошибкой RetryableException: неполный выходной поток

Сообщение Anonymous »

Я столкнулся с проблемой при загрузке файла между двумя микросервисами Spring Boot с помощью OpenFeign.
  • task-service создает файл Excel
  • Он отправляет файл в системный сервис с помощью Feign (multipart/form-data)
Syestm-Service загружает файл в AWS S3
Feign Client
@FeignClient(
name = "system-service",
url = "${feign.client.main.url.system}",
configuration = FeignMultipartConfig.class
)
public interface SystemServiceClient {

@PostMapping(
value = "/system-service/uploadFile",
consumes = MediaType.MULTIPART_FORM_DATA_VALUE
)
Map uploadFile(
@RequestPart("file") Resource file,
@RequestHeader MultiValueMap headers
);
}

Файл отправляется
ByteArrayResource resource = new ByteArrayResource(Files.readAllBytes(tempFile)) { @Override public String getFilename() { return fileName; } };

Контроллер в системном сервисе
@PostMapping("/uploadFile")public Map uploadFile( @RequestPart("file") MultipartFile file, @RequestHeader MultiValueMap headers) { return awsService.uploadFile(file, headers); }

Загрузка AWS
s3Client.putObject( request, RequestBody.fromInputStream(file.getInputStream(), file.getSize()) );

Проблема:
Загрузка иногда работает, но периодически происходит сбой:
java.util.concurrent.ExecutionException: feign.RetryableException: Incomplete output stream executing POST http://localhost:9008/system-service/uploadFile

Вернуться в «JAVA»