diff --git a/core/aws-core/pom.xml b/core/aws-core/pom.xml index a22dd889b9e8..f7756efbcf40 100644 --- a/core/aws-core/pom.xml +++ b/core/aws-core/pom.xml @@ -191,6 +191,12 @@ ${awsjavasdk.version} test + + software.amazon.awssdk + apache5-client + ${awsjavasdk.version}-PREVIEW + test + org.assertj assertj-core diff --git a/core/sdk-core/pom.xml b/core/sdk-core/pom.xml index 55e89524cd00..b08b5904d0dd 100644 --- a/core/sdk-core/pom.xml +++ b/core/sdk-core/pom.xml @@ -112,6 +112,12 @@ ${awsjavasdk.version} test + + software.amazon.awssdk + apache5-client + ${awsjavasdk.version}-PREVIEW + test + org.junit.jupiter junit-jupiter diff --git a/core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/http/loader/ClasspathSdkHttpServiceProvider.java b/core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/http/loader/ClasspathSdkHttpServiceProvider.java index 468adab2cb3f..e5f4248cf2b0 100644 --- a/core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/http/loader/ClasspathSdkHttpServiceProvider.java +++ b/core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/http/loader/ClasspathSdkHttpServiceProvider.java @@ -38,9 +38,10 @@ final class ClasspathSdkHttpServiceProvider implements SdkHttpServiceProvider static final Map SYNC_HTTP_SERVICES_PRIORITY = ImmutableMap.builder() - .put("software.amazon.awssdk.http.apache.ApacheSdkHttpService", 1) - .put("software.amazon.awssdk.http.urlconnection.UrlConnectionSdkHttpService", 2) - .put("software.amazon.awssdk.http.crt.AwsCrtSdkHttpService", 3) + .put("software.amazon.awssdk.http.apache5.Apache5SdkHttpService", 1) + .put("software.amazon.awssdk.http.apache.ApacheSdkHttpService", 2) + .put("software.amazon.awssdk.http.urlconnection.UrlConnectionSdkHttpService", 3) + .put("software.amazon.awssdk.http.crt.AwsCrtSdkHttpService", 4) .build(); static final Map ASYNC_HTTP_SERVICES_PRIORITY = diff --git a/services/pom.xml b/services/pom.xml index 5a1a72db06bd..5a2841d3ea9b 100644 --- a/services/pom.xml +++ b/services/pom.xml @@ -521,6 +521,12 @@ ${awsjavasdk.version} runtime + + apache5-client + software.amazon.awssdk + ${awsjavasdk.version}-PREVIEW + runtime + netty-nio-client software.amazon.awssdk diff --git a/test/codegen-generated-classes-test/pom.xml b/test/codegen-generated-classes-test/pom.xml index 71e6ee14e459..4b72669e7f8a 100644 --- a/test/codegen-generated-classes-test/pom.xml +++ b/test/codegen-generated-classes-test/pom.xml @@ -235,6 +235,12 @@ ${awsjavasdk.version} test + + software.amazon.awssdk + apache5-client + ${awsjavasdk.version}-PREVIEW + test + org.assertj assertj-core diff --git a/test/module-path-tests/pom.xml b/test/module-path-tests/pom.xml index e271c08de9f0..f9fb35f1731c 100644 --- a/test/module-path-tests/pom.xml +++ b/test/module-path-tests/pom.xml @@ -59,6 +59,11 @@ apache-client ${awsjavasdk.version} + + software.amazon.awssdk + apache5-client + ${awsjavasdk.version}-PREVIEW + software.amazon.awssdk netty-nio-client diff --git a/test/protocol-tests/pom.xml b/test/protocol-tests/pom.xml index ccb9278d2857..f6d2178ca71a 100644 --- a/test/protocol-tests/pom.xml +++ b/test/protocol-tests/pom.xml @@ -93,6 +93,12 @@ ${awsjavasdk.version} runtime + + software.amazon.awssdk + apache5-client + ${awsjavasdk.version}-PREVIEW + runtime + software.amazon.awssdk http-client-spi diff --git a/test/s3-benchmarks/src/main/java/software/amazon/awssdk/s3benchmarks/s3express/S3BenchmarkRunner.java b/test/s3-benchmarks/src/main/java/software/amazon/awssdk/s3benchmarks/s3express/S3BenchmarkRunner.java index 5822de568e1b..705c0a6c6b79 100644 --- a/test/s3-benchmarks/src/main/java/software/amazon/awssdk/s3benchmarks/s3express/S3BenchmarkRunner.java +++ b/test/s3-benchmarks/src/main/java/software/amazon/awssdk/s3benchmarks/s3express/S3BenchmarkRunner.java @@ -21,6 +21,8 @@ import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider; import software.amazon.awssdk.core.metrics.CoreMetric; import software.amazon.awssdk.http.HttpMetric; +import software.amazon.awssdk.http.apache.ApacheHttpClient; +import software.amazon.awssdk.http.apache5.Apache5HttpClient; import software.amazon.awssdk.http.nio.netty.NettyNioAsyncHttpClient; import software.amazon.awssdk.metrics.MetricLevel; import software.amazon.awssdk.metrics.MetricPublisher; @@ -67,12 +69,13 @@ public static void runBenchmarks(boolean useS3Express) { S3Client s3Client = S3BenchmarkTestUtils.s3ClientBuilder(region) .credentialsProvider(credentialsProvider) + .httpClient(ApacheHttpClient.create()) .overrideConfiguration(o -> o.addMetricPublisher( metricPublisher(cloudwatchClient, namespacePrefix + "/SmallObject/Apache"))) .build(); - LOGGER.info(() -> "Running small objects benchmark, 64Kb data, 5 buckets, 200 iterations"); + LOGGER.info(() -> "Running small objects benchmark with Apache4 Http Client, 64Kb data, 5 buckets, 200 iterations"); BenchmarkConfig smallObjectSyncConfig = BenchmarkConfig.builder() .region(region) .credentialsProvider(credentialsProvider) @@ -93,7 +96,7 @@ public static void runBenchmarks(boolean useS3Express) { namespacePrefix + "/MediumObject/Apache"))) .build(); - LOGGER.info(() -> "Running medium objects benchmark, 1024Kb data, 5 buckets, 200 iterations"); + LOGGER.info(() -> "Running medium objects benchmark with Apache4 Http Client, 1024Kb data, 5 buckets, 200 iterations"); BenchmarkConfig largeObjectSyncConfig = BenchmarkConfig.builder() .region(region) .credentialsProvider(credentialsProvider) @@ -108,6 +111,33 @@ public static void runBenchmarks(boolean useS3Express) { s3Client.close(); + s3Client = S3BenchmarkTestUtils.s3ClientBuilder(region) + .credentialsProvider(credentialsProvider) + .httpClient(Apache5HttpClient.create()) + .overrideConfiguration(o -> o.addMetricPublisher( + metricPublisher(cloudwatchClient, + namespacePrefix + "/SmallObject/Apache5"))) + .build(); + + LOGGER.info(() -> "Running small objects benchmark with Apache5 Http Client, 64Kb data, 5 buckets, 200 iterations"); + syncBenchmark = new S3PutGetDeleteSyncBenchmark(smallObjectSyncConfig, s3Client); + syncBenchmark.run(); + s3Client.close(); + + s3Client = S3BenchmarkTestUtils.s3ClientBuilder(region) + .credentialsProvider(credentialsProvider) + .httpClient(Apache5HttpClient.create()) + .overrideConfiguration(o -> o.addMetricPublisher( + metricPublisher(cloudwatchClient, + namespacePrefix + "/MediumObject/Apache5"))) + .build(); + + LOGGER.info(() -> "Running medium objects benchmark with Apache5 Http Client, 1024Kb data, 5 buckets, 200 iterations"); + syncBenchmark = new S3PutGetDeleteSyncBenchmark(largeObjectSyncConfig, s3Client); + syncBenchmark.run(); + s3Client.close(); + + S3AsyncClient s3AsyncClient = S3BenchmarkTestUtils.s3AsyncClientBuilder(region) .credentialsProvider(credentialsProvider) .overrideConfiguration(o -> o.addMetricPublisher( diff --git a/test/sdk-native-image-test/pom.xml b/test/sdk-native-image-test/pom.xml index f212169f97e4..e05d3cb154b6 100644 --- a/test/sdk-native-image-test/pom.xml +++ b/test/sdk-native-image-test/pom.xml @@ -67,6 +67,11 @@ ${awsjavasdk.version} + + software.amazon.awssdk + apache5-client + ${awsjavasdk.version}-PREVIEW + org.slf4j diff --git a/test/stability-tests/pom.xml b/test/stability-tests/pom.xml index ed89867b0dd1..66fd0cd4c826 100644 --- a/test/stability-tests/pom.xml +++ b/test/stability-tests/pom.xml @@ -59,6 +59,12 @@ ${awsjavasdk.version} test + + software.amazon.awssdk + apache5-client + ${awsjavasdk.version}-PREVIEW + test + software.amazon.awssdk netty-nio-client diff --git a/test/tests-coverage-reporting/pom.xml b/test/tests-coverage-reporting/pom.xml index 94556f27211a..6eb43a1f40ea 100644 --- a/test/tests-coverage-reporting/pom.xml +++ b/test/tests-coverage-reporting/pom.xml @@ -157,6 +157,11 @@ software.amazon.awssdk ${awsjavasdk.version} + + apache-client + software.amazon.awssdk + ${awsjavasdk.version} + aws-crt-client software.amazon.awssdk