You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2026/07/31 14:37:19 UTC

(httpcomponents-client) branch master updated: Enable multiplex message exchanges over active HTTP/2 connections

This is an automated email from the ASF dual-hosted git repository.

ok2c pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/httpcomponents-client.git


The following commit(s) were added to refs/heads/master by this push:
     new ab543f185 Enable multiplex message exchanges over active HTTP/2 connections
ab543f185 is described below

commit ab543f1853f0f7233bd8fbdf8771e6ddea702f6d
Author: Oleg Kalnichevski <ol...@apache.org>
AuthorDate: Fri Jul 31 16:34:04 2026 +0200

    Enable multiplex message exchanges over active HTTP/2 connections
---
 .../org/apache/hc/client5/http/impl/nio/H2SharingConnPool.java |  2 --
 .../impl/nio/PoolingAsyncClientConnectionManagerBuilder.java   | 10 +++-------
 2 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/nio/H2SharingConnPool.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/nio/H2SharingConnPool.java
index 57c219d3c..252250320 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/nio/H2SharingConnPool.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/nio/H2SharingConnPool.java
@@ -41,7 +41,6 @@
 
 import org.apache.hc.client5.http.impl.ConnPoolSupport;
 import org.apache.hc.core5.annotation.Contract;
-import org.apache.hc.core5.annotation.Experimental;
 import org.apache.hc.core5.annotation.ThreadingBehavior;
 import org.apache.hc.core5.concurrent.CallbackContribution;
 import org.apache.hc.core5.concurrent.CompletedFuture;
@@ -70,7 +69,6 @@
  * @since 5.5
  */
 @Contract(threading = ThreadingBehavior.SAFE)
-@Experimental
 public class H2SharingConnPool<T, C extends HttpConnection> implements ManagedConnPool<T, C> {
 
     private static final Logger LOG = LoggerFactory.getLogger(H2SharingConnPool.class);
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/nio/PoolingAsyncClientConnectionManagerBuilder.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/nio/PoolingAsyncClientConnectionManagerBuilder.java
index b87939591..a4e1b8fe4 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/nio/PoolingAsyncClientConnectionManagerBuilder.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/nio/PoolingAsyncClientConnectionManagerBuilder.java
@@ -35,7 +35,6 @@
 import org.apache.hc.client5.http.nio.AsyncClientConnectionOperator;
 import org.apache.hc.client5.http.ssl.ConscryptClientTlsStrategy;
 import org.apache.hc.client5.http.ssl.DefaultClientTlsStrategy;
-import org.apache.hc.core5.annotation.Experimental;
 import org.apache.hc.core5.annotation.Internal;
 import org.apache.hc.core5.function.Resolver;
 import org.apache.hc.core5.http.HttpHost;
@@ -68,7 +67,7 @@ public class PoolingAsyncClientConnectionManagerBuilder {
 
     private Resolver<HttpRoute, ConnectionConfig> connectionConfigResolver;
     private Resolver<HttpHost, TlsConfig> tlsConfigResolver;
-    private boolean messageMultiplexing;
+    private boolean messageMultiplexing = true;
 
     public static PoolingAsyncClientConnectionManagerBuilder create() {
         return new PoolingAsyncClientConnectionManagerBuilder();
@@ -249,18 +248,15 @@ public final PoolingAsyncClientConnectionManagerBuilder useSystemProperties() {
     }
 
     /**
-     * Use experimental connections pool implementation that acts as a caching facade
-     * in front of a standard connection pool and shares already leased connections
+     * Use an extra pool of connections that acts as a caching facade in front
+     * of a standard connection pool and shares already leased connections
      * to multiplex message exchanges over active HTTP/2 connections.
      *<p>
      * Please note this flag has no effect on HTTP/1.1 and HTTP/1.0 connections.
-     *<p>
-     * This feature is considered experimenal
      *
      * @since 5.5
      * @return this instance.
      */
-    @Experimental
     public final PoolingAsyncClientConnectionManagerBuilder setMessageMultiplexing(final boolean messageMultiplexing) {
         this.messageMultiplexing = messageMultiplexing;
         return this;