Class BambooS3TransferManager

java.lang.Object
com.atlassian.bamboo.build.artifact.BambooS3TransferManager

@Internal public class BambooS3TransferManager extends Object
Simple wrapper around Amazon's S3TransferManager that adds some synchronization methods. The supported usage pattern is: first use all copy/upload/download methods, then call waitForCompletionAndShutdown(). The object is not supposed to be used after waitForCompletionAndShutdown() has been called.
  • Constructor Summary

    Constructors
    Constructor
    Description
    BambooS3TransferManager(software.amazon.awssdk.services.s3.S3AsyncClient s3Client, Executor executor)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    copy(software.amazon.awssdk.transfer.s3.model.CopyRequest.Builder copyRequestBuilder, String transferObjectKey)
     
    void
    download(software.amazon.awssdk.transfer.s3.model.DownloadFileRequest.Builder downloadFileRequestBuilder, String transferObjectKey)
     
    void
    upload(software.amazon.awssdk.transfer.s3.model.UploadFileRequest.Builder uploadFileRequestBuilder, String transferObjectKey)
    see S3TransferManager.upload(Consumer) UploadFileRequest
    void
    Waits for all transfers to complete and shuts down the transfer manager.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • BambooS3TransferManager

      public BambooS3TransferManager(software.amazon.awssdk.services.s3.S3AsyncClient s3Client, Executor executor)
  • Method Details

    • upload

      public void upload(software.amazon.awssdk.transfer.s3.model.UploadFileRequest.Builder uploadFileRequestBuilder, String transferObjectKey) throws IOException
      see S3TransferManager.upload(Consumer) UploadFileRequest
      Throws:
      IOException
    • download

      public void download(software.amazon.awssdk.transfer.s3.model.DownloadFileRequest.Builder downloadFileRequestBuilder, String transferObjectKey) throws IOException
      Throws:
      IOException
    • copy

      public void copy(software.amazon.awssdk.transfer.s3.model.CopyRequest.Builder copyRequestBuilder, String transferObjectKey) throws IOException
      Throws:
      IOException
    • waitForCompletionAndShutdown

      public void waitForCompletionAndShutdown() throws IOException
      Waits for all transfers to complete and shuts down the transfer manager. The underlying S3 client is not shut down.
      Throws:
      IOException