I am using AWS SDK for Java to use in AWS Metering service. When I tried to use AWSMarketplaceMeteringClientBuilder
to create a AWSMarketplaceMeteringClient
, I found that if I use withRegion(Region region)
method, I get following compile time error:
The method withRegion(Region) from the type AwsClientBuilder<AWSMarketplaceMeteringClientBuilder,AWSMarketplaceMetering> is not visible
The client code is as shown below:
AWSMarketplaceMeteringClient metClient = (AWSMarketplaceMeteringClient) AWSMarketplaceMeteringClientBuilder
.standard()
.withRegion(Regions.getCurrentRegion())
.withCredentials(InstanceProfileCredentialsProvider.getInstance())
.build();
And when I try to use the setRegion(Region region)
method of AWSMarketplaceMeteringClient
directly, I get following runtime error:
Exception in thread "main" java.lang.UnsupportedOperationException: Client is immutable when created with the builder.
at com.amazonaws.AmazonWebServiceClient.checkMutability(AmazonWebServiceClient.java:854)
at com.amazonaws.AmazonWebServiceClient.setRegion(AmazonWebServiceClient.java:349)
So how should I use the withRegion(Region region) method?