public class S3ClientCache extends Object
AmazonS3Client
objects. S3ClientCache
keeps the
clients organized by region, and if provided AWSCredentials
will
create clients on the fly. Otherwise it just return clients given to it with
useClient(AmazonS3Client)
.Modifier and Type | Method and Description |
---|---|
AmazonS3Client |
getClient(Region s3region)
Returns a client for the requested region, or throws an exception when
unable.
|
TransferManager |
getTransferManager(Region region)
Returns a
TransferManager for the given region, or throws an
exception when unable. |
void |
useClient(AmazonS3Client client)
Force the client cache to provide a certain client for the region which
that client is configured.
|
public void useClient(AmazonS3Client client)
S3ClientOptions
or use a
AmazonS3EncryptionClient
in place of a
regular client.
Using a new client will also forcibly shut down any
TransferManager
that has been instantiated with that client, with
the TransferManager.shutdownNow()
method.client
- An AmazonS3Client
to use in the cache. Its region will
be detected automatically.public AmazonS3Client getClient(Region s3region)
s3region
- The region the returned AmazonS3Client
will be
configured to use.AWSCredentials
or
provided with useClient(AmazonS3Client)
.IllegalArgumentException
- When a region is requested that has not been provided to the
cache with useClient(AmazonS3Client)
, and the cache
has no AWSCredentials
with which a client may be
instantiated.public TransferManager getTransferManager(Region region)
TransferManager
for the given region, or throws an
exception when unable. The returned TransferManager
will always
be instantiated from whatever AmazonS3Client
is in the cache,
whether provided with useClient(AmazonS3Client)
or instantiated
automatically from AWSCredentials
.
Any TransferManager
returned could be shut down if a new
underlying AmazonS3Client
is provided with
useClient(AmazonS3Client)
.region
- The region the returned TransferManager
will be
configured to use.AmazonS3Client
,Copyright © 2016. All rights reserved.