Dovendo fare dei caricamenti massivi su un Amazon S3 pensavo di utilizzare 
l'interfaccia async nio e un Publisher del tipo

UploadPublisher bodyPublisher = new UploadPublisher( );
CompletableFuture reqFuture = clientS3.putObject(
 PutObjectRequest.builder()
 .bucket( bucket )
 .key( idKey )
 .contentLength( Long.valueOf( contentLen ) )
 .contentType( contentType )
 .build(),
 AsyncRequestBody.fromPublisher( bodyPublisher )
 );

class UploadPublisher implements Publisher
con l'implementazione del publisher specifico.
Credo che la libreria di Amazon si tenga il riferimento all'oggetto ByteBuffer 
che gli passo alla chiamata onNext e quindi se alloco sempre un nuovo 
ByteBuffer funziona ... altrimenti mi posso ritrovare dati corrotti su S3.
Qualcuno ha avuto esperienze in proposito?

Luigi

Reply via email to