public class S3ClientCache extends Object
AmazonS3
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(AmazonS3)
.Modifier and Type | Method and Description |
---|---|
AmazonS3 |
getClient(Region region)
Returns a client for the requested region, or throws an exception when
unable.
|
AmazonS3 |
getClient(String region)
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. |
TransferManager |
getTransferManager(String region)
Returns a
TransferManager for the given region, or throws an
exception when unable. |
void |
useClient(AmazonS3 client)
Force the client cache to provide a certain client for the region which
that client is configured.
|
public void useClient(AmazonS3 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 AmazonS3
to use in the cache. Its region will
be detected automatically.public AmazonS3 getClient(Region region)
region
- The region the returned AmazonS3
will be
configured to use.AWSCredentials
or
provided with useClient(AmazonS3)
.IllegalArgumentException
- When a region is requested that has not been provided to the
cache with useClient(AmazonS3)
, and the cache
has no AWSCredentials
with which a client may be
instantiated.public AmazonS3 getClient(String region)
region
- The region the returned AmazonS3
will be
configured to use.AWSCredentials
or
provided with useClient(AmazonS3)
.IllegalArgumentException
- When a region is requested that has not been provided to the
cache with useClient(AmazonS3)
, 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 AmazonS3
is in the cache,
whether provided with useClient(AmazonS3)
or instantiated
automatically from AWSCredentials
.
Any TransferManager
returned could be shut down if a new
underlying AmazonS3
is provided with
useClient(AmazonS3)
.region
- The region the returned TransferManager
will be
configured to use.AmazonS3
,public TransferManager getTransferManager(String region)
TransferManager
for the given region, or throws an
exception when unable. The returned TransferManager
will always
be instantiated from whatever AmazonS3
is in the cache,
whether provided with useClient(AmazonS3)
or instantiated
automatically from AWSCredentials
.
Any TransferManager
returned could be shut down if a new
underlying AmazonS3
is provided with
useClient(AmazonS3)
.region
- The region string the returned TransferManager
will be
configured to use.AmazonS3
,