Skip to content

Commit b1ff244

Browse files
authored
Refactor HttpSettingsToHttpClient to handler client builder without build invoked (#5406)
1 parent 3a90e8d commit b1ff244

File tree

15 files changed

+246
-153
lines changed

15 files changed

+246
-153
lines changed

test/v2-migration-tests/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,11 @@
4343
</dependencyManagement>
4444

4545
<dependencies>
46+
<dependency>
47+
<groupId>com.amazonaws</groupId>
48+
<artifactId>aws-java-sdk-core</artifactId>
49+
<scope>test</scope>
50+
</dependency>
4651
<dependency>
4752
<groupId>com.amazonaws</groupId>
4853
<artifactId>aws-java-sdk-sqs</artifactId>

test/v2-migration-tests/src/test/resources/gradle/after/src/main/java/gradletest/foo/bar/Library.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
public class Library {
2222
public void someMethod() {
2323
DynamoDbClient dynamoDB = DynamoDbClient.builder().build();
24-
CreateTableResponse createTableResult = dynamoDB.createTable(CreateTableRequest.builder().tableName("test").build());
24+
CreateTableResponse createTableResult = dynamoDB.createTable(CreateTableRequest.builder().tableName("test")
25+
.build());
2526
System.out.println(createTableResult);
2627
}
2728
}

test/v2-migration-tests/src/test/resources/maven/after/src/main/java/foo/bar/Application.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ public static void main(String... args) {
4545
ListQueuesRequest request = ListQueuesRequest.builder()
4646
.maxResults(5)
4747
.queueNamePrefix("MyQueue-")
48-
.nextToken("token").build();
48+
.nextToken("token")
49+
.build();
4950

5051
try {
5152

@@ -65,8 +66,8 @@ public static void main(String... args) {
6566

6667
} catch (SqsException exception) {
6768
System.out.println(String.format("Error code: %s. RequestId: %s. Raw response content: %s",
68-
exception.awsErrorDetails().errorCode(), exception.requestId(),
69-
exception.awsErrorDetails().rawResponse().asUtf8String()));
69+
exception.awsErrorDetails().errorCode(), exception.requestId(),
70+
exception.awsErrorDetails().rawResponse().asUtf8String()));
7071
} catch (AwsServiceException exception) {
7172
System.out.println(String.format("Error message: %s. Service Name: %s",
7273
exception.awsErrorDetails().errorMessage(), exception.awsErrorDetails().serviceName()));
@@ -76,7 +77,8 @@ public static void main(String... args) {
7677
}
7778

7879
private static Path downloadFile(S3Client s3, String bucket, String key, Path dst) throws IOException {
79-
GetObjectRequest getObject = GetObjectRequest.builder().bucket(bucket).key(key).build();
80+
GetObjectRequest getObject = GetObjectRequest.builder().bucket(bucket).key(key)
81+
.build();
8082

8183
ResponseInputStream<GetObjectResponse> s3Object = s3.getObject(getObject);
8284

test/v2-migration-tests/src/test/resources/maven/after/src/main/java/foo/bar/CredentialsDependencyFactory.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ private CredentialsDependencyFactory() {
3131
}
3232

3333
public static AwsCredentialsProvider defaultCredentialsProviderChain() {
34-
return DefaultCredentialsProvider.builder().build();
34+
return DefaultCredentialsProvider.builder()
35+
.build();
3536
}
3637

3738
public static AwsCredentialsProvider environmentCredentialsProvider() {
@@ -43,7 +44,8 @@ public static AwsCredentialsProvider instanceProfileCredentialsProvider() {
4344
}
4445

4546
public static AwsCredentialsProvider profileCredentialsProvider() {
46-
return ProfileCredentialsProvider.builder().build();
47+
return ProfileCredentialsProvider.builder()
48+
.build();
4749
}
4850

4951
public static AwsCredentialsProvider staticCredentialsProvider() {

test/v2-migration-tests/src/test/resources/maven/after/src/main/java/foo/bar/SdkClientsDependencyFactory.java

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
import software.amazon.awssdk.http.nio.netty.NettyNioAsyncHttpClient;
2323
import software.amazon.awssdk.regions.Region;
2424
import software.amazon.awssdk.services.sqs.SqsClient;
25+
import software.amazon.awssdk.services.sqs.SqsClientBuilder;
26+
import software.amazon.awssdk.services.sqs.SqsAsyncClient;
2527
import software.amazon.awssdk.services.sqs.SqsAsyncClient;
2628
import software.amazon.awssdk.services.sqs.SqsClient;
2729

@@ -31,36 +33,48 @@ private SdkClientsDependencyFactory() {
3133
}
3234

3335
public static SqsClient defaultSqsClient() {
34-
return SqsClient.builder().build();
36+
return SqsClient.builder()
37+
.build();
3538
}
3639

3740
public static ClientOverrideConfiguration customClientConfiguration() {
3841
ClientOverrideConfiguration clientConfiguration = ClientOverrideConfiguration.builder()
3942
.retryPolicy(RetryMode.STANDARD)
4043
.apiCallTimeout(Duration.ofMillis(1000))
4144
.apiCallAttemptTimeout(Duration.ofMillis(1001))
42-
.putHeader("foo", "bar").build();
45+
.putHeader("foo", "bar")
46+
.build();
4347

4448
return clientConfiguration;
4549
}
4650

4751
public static SqsClient sqsClientWithAllSettings() {
4852
return SqsClient.builder()
49-
.region(Region.of("us-west-2"))
50-
.overrideConfiguration(customClientConfiguration())
53+
.region(Region.of("us-west-2"))
54+
.httpClientBuilder(ApacheHttpClient.builder()
55+
.connectionMaxIdleTime(Duration.ofMillis(1006))
56+
.tcpKeepAlive(true)
57+
.socketTimeout(Duration.ofMillis(1004))
58+
.connectionTimeToLive(Duration.ofMillis(1005))
59+
.connectionTimeout(Duration.ofMillis(1003))
60+
.maxConnections(1002))
61+
.overrideConfiguration(customClientConfiguration())
5162
.credentialsProvider(CredentialsDependencyFactory.defaultCredentialsProviderChain())
52-
.httpClientBuilder(ApacheHttpClient.builder()
53-
.connectionMaxIdleTime(Duration.ofMillis(1006))
54-
.tcpKeepAlive(true)
55-
.socketTimeout(Duration.ofMillis(1004))
56-
.connectionTimeToLive(Duration.ofMillis(1005))
57-
.connectionTimeout(Duration.ofMillis(1003))
58-
.maxConnections(1002))
5963
.build();
6064
}
6165

66+
public static SqsClientBuilder sqsClientBuilder() {
67+
ClientOverrideConfiguration configuration = ClientOverrideConfiguration.builder()
68+
.build();
69+
return SqsClient.builder()
70+
.httpClientBuilder(ApacheHttpClient.builder()
71+
.maxConnections(500))
72+
.overrideConfiguration(configuration);
73+
}
74+
6275
public static SqsAsyncClient defaultSqsAsyncClient() {
63-
return SqsAsyncClient.builder().build();
76+
return SqsAsyncClient.builder()
77+
.build();
6478
}
6579

6680
public static SqsAsyncClient sqsAsyncClientWithAllSettings() {
@@ -69,14 +83,15 @@ public static SqsAsyncClient sqsAsyncClientWithAllSettings() {
6983
.retryPolicy(RetryMode.STANDARD)
7084
.apiCallTimeout(Duration.ofMillis(2001))
7185
.apiCallAttemptTimeout(Duration.ofMillis(2002))
72-
.putHeader("hello", "world").build();
86+
.putHeader("hello", "world")
87+
.build();
7388

7489
return SqsAsyncClient.builder()
7590
.region(Region.US_WEST_2)
7691
.credentialsProvider(CredentialsDependencyFactory.defaultCredentialsProviderChain())
77-
.overrideConfiguration(clientConfiguration)
7892
.httpClientBuilder(NettyNioAsyncHttpClient.builder()
7993
.connectionTimeout(Duration.ofMillis(2004)))
94+
.overrideConfiguration(clientConfiguration)
8095
.build();
8196
}
8297
}

test/v2-migration-tests/src/test/resources/maven/before/src/main/java/foo/bar/SdkClientsDependencyFactory.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.amazonaws.services.sqs.AmazonSQSAsync;
2323
import com.amazonaws.services.sqs.AmazonSQSAsyncClient;
2424
import com.amazonaws.services.sqs.AmazonSQSClient;
25+
import com.amazonaws.services.sqs.AmazonSQSClientBuilder;
2526

2627
public final class SdkClientsDependencyFactory {
2728

@@ -56,6 +57,12 @@ public static AmazonSQS sqsClientWithAllSettings() {
5657
.build();
5758
}
5859

60+
public static AmazonSQSClientBuilder sqsClientBuilder() {
61+
ClientConfiguration configuration = new ClientConfiguration().withMaxConnections(500);
62+
return AmazonSQSClient.builder()
63+
.withClientConfiguration(configuration);
64+
}
65+
5966
public static AmazonSQSAsync defaultSqsAsyncClient() {
6067
return new AmazonSQSAsyncClient();
6168
}

0 commit comments

Comments
 (0)