|
101 | 101 | import software.amazon.awssdk.utils.Validate;
|
102 | 102 |
|
103 | 103 | /**
|
104 |
| - * An implementation of {@link SdkHttpClient} that uses Apache5 HTTP client to communicate with the service. This is the most |
105 |
| - * powerful synchronous client that adds an extra dependency and additional startup latency in exchange for more functionality, |
106 |
| - * like support for HTTP proxies. |
| 104 | + * An implementation of {@link SdkHttpClient} that uses Apache HttpClient 5.x to communicate with the service. This is a |
| 105 | + * full-featured synchronous client that adds an extra dependency and higher startup latency compared to |
| 106 | + * <a href="https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/http-configuration-url.html">UrlConnectionHttpClient</a> |
| 107 | + * in exchange for more functionality, like support for HTTP proxies. |
107 | 108 | *
|
108 |
| - * <p>See software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient for an alternative implementation.</p> |
| 109 | + * <p><b>Note:</b> The higher startup latency is compared to UrlConnectionHttpClient, not to the Apache HttpClient 4.5.x |
| 110 | + * based client. Performance characteristics between Apache 4.5.x and 5.x clients are similar.</p> |
| 111 | + * |
| 112 | + * <p>This client uses Apache HttpClient 5.x, which provides the following |
| 113 | + * improvements over the Apache HttpClient 4.5.x based client:</p> |
| 114 | + * <ul> |
| 115 | + * <li>Modern Java ecosystem compatibility including virtual thread support for Java 21</li> |
| 116 | + * <li>Active maintenance with regular security updates</li> |
| 117 | + * <li>Enhanced logging flexibility through SLF4J (replacing problematic JCL dependencies)</li> |
| 118 | + * </ul> |
| 119 | + * |
| 120 | + * <p>See |
| 121 | + * <a href="https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/http-configuration-url.html">UrlConnectionHttpClient</a> |
| 122 | + * for a lighter-weight alternative implementation.</p> |
109 | 123 | *
|
110 | 124 | * <p>This can be created via {@link #builder()}</p>
|
111 | 125 | */
|
| 126 | + |
112 | 127 | @SdkPreviewApi
|
113 | 128 | @SdkPublicApi
|
114 | 129 | public final class Apache5HttpClient implements SdkHttpClient {
|
|
0 commit comments