Skip navigation links

Did this page help you?

Package com.amazonaws.services.s3.transfer

Transfer management.

See: Description

Package com.amazonaws.services.s3.transfer Description

Transfer management.

This package provides the TransferManager class, which manages a queue of asynchronous transfers. Callers can create a TransferManager instance, sharing that same instance throughout their application, queue new uploads for TransferManager to process, and continue working while TransferManager tracks the asynchronous upload progress.

The main benefits of using TransferManager are:

The AmazonS3TransferProgress sample included in the AWS SDK for Java demonstrates how to use TransferManager and how to track progress for uploads.

Using TransferManager to upload data to Amazon S3 is easy:

 AWSCredentials myCredentials = new BasicAWSCredentials(...);
 TransferManager tx = new TransferManager(myCredentials);
 Upload myUpload = tx.upload(myBucket, myFile.getName(), myFile);

 // You can poll your transfer's status to check its progress
 if (myUpload.isDone() == false) {
     System.out.println("Transfer: " + myUpload.getDescription());
     System.out.println("  - State: " + myUpload.getState());
     System.out.println("  - Progress: " + myUpload.getProgress().getBytesTransferred());
 }

 // Transfers also allow you to set a ProgressListener to receive
 // asynchronous notifications about your transfer's progress.
 myUpload.addProgressListener(myProgressListener);

 // Or you can block the current thread and wait for your transfer to
 // to complete.  If the transfer fails, this method will throw a
 // SdkClientException or AmazonServiceException detailing the reason.
 myUpload.waitForCompletion();
 
See Also:
TransferManager
Skip navigation links

Copyright © 2013 Amazon Web Services, Inc. All Rights Reserved.