Вы все еще используете 5.0 BETA1. Я бы порекомендовал обновить до 5.0 BETA2

ал, как реализоватьConscrypt SSL провайдер используетconscrypt-OpenJDK-убер-1.4.1.jar для поддержки JDK8ALPN для изготовленияhttp2 (используя apache httpclient 5) подключение к серверу какJDK8 не поддерживает ALPN по умолчанию или другое решение - перейти на jdk9 (или выше), что пока невозможно, так как наш продуктсильно зависит от JDK8

Я много искал документы или примеры для реализации, но не смог найти.

Я попытался вставить поставщика по умолчанию, и моя программа использует его как поставщика по умолчанию, но все равно не удается подключиться к серверу http2, мой пример выглядит следующим образом:

public static void main(final String[] args) throws Exception {
    Security.insertProviderAt(new OpenSSLProvider(), 1);
    final SSLContext sslContext = SSLContexts.custom().loadTrustMaterial(new TrustAllStrategy()).build();
    final PoolingAsyncClientConnectionManager connectionManager = PoolingAsyncClientConnectionManagerBuilder.create().setTlsStrategy(new H2TlsStrategy(sslContext, NoopHostnameVerifier.INSTANCE)).build();
    final IOReactorConfig ioReactorConfig = IOReactorConfig.custom().setSoTimeout(Timeout.ofSeconds(5)).build();
    final MinimalHttpAsyncClient client = HttpAsyncClients.createMinimal(HttpVersionPolicy.FORCE_HTTP_2, H2Config.DEFAULT, null, ioReactorConfig, connectionManager);

    client.start();
    final HttpHost target = new HttpHost("localhost", 8082, "https");
    final Future<AsyncClientEndpoint> leaseFuture = client.lease(target, null);
    final AsyncClientEndpoint endpoint = leaseFuture.get(10, TimeUnit.SECONDS);
    try {
        String[] requestUris = new String[] {"/"};
        CountDownLatch latch = new CountDownLatch(requestUris.length);
        for (final String requestUri: requestUris) {
            SimpleHttpRequest request = SimpleHttpRequest.get(target, requestUri);
            endpoint.execute(SimpleRequestProducer.create(request), SimpleResponseConsumer.create(), new FutureCallback<SimpleHttpResponse>() {
                        @Override
                        public void completed(final SimpleHttpResponse response) {
                            latch.countDown();
                            System.out.println(requestUri + "->" + response.getCode());
                            System.out.println(response.getBody());
                        }

                        @Override
                        public void failed(final Exception ex) {
                            latch.countDown();
                            System.out.println(requestUri + "->" + ex);
                            ex.printStackTrace();
                        }

                        @Override
                        public void cancelled() {
                            latch.countDown();
                            System.out.println(requestUri + " cancelled");
                        }

                    });
        }
        latch.await();
    } catch (Exception e) {
        e.printStackTrace();
    }finally {
        endpoint.releaseAndReuse();
    }

    client.shutdown(ShutdownType.GRACEFUL);
}

эта программа дает вывод как

org.apache.hc.core5.http.ConnectionClosedException: соединение закрыто org.apache.hc.core5.http.ConnectionClosedException: соединение закрыто на org.apache.hc.core5.http2.impl.nio.FrameInputBuffer.read (FrameInputBuffer.java : 146) at org.apache.hc.core5.http2.impl.nio.AbstractHttp2StreamMultiplexer.onInput (AbstractHttp2StreamMultiplexer.java:415) в org.apache.hc.core5.http2.impl.nio.AbstractHttpIOHepperHept : 63) at org.apache.hc.core5.http2.impl.nio.ClientHttp2IOEventHandler.inputReady (ClientHttp2IOEventHandler.java:38) в org.apache.hc.core5.reactor.InternalDataChannel.onIOEvent (InternalDataChannel). org.apache.hc.core5.reactor.InternalChannel.handleIOEvent (InternalChannel.java:50) в org.apache.hc.core5.reactor.SingleCoreIOReactor.processEvents (SingleCoreIOReactor.java:173) в org.apache.hc.core5. реактор. bstractSingleCoreIOReactor.java:80) в org.apache.hc.core5.reactor.IOReactorWorker.run (IOReactorWorker.java:44) в java.lang.Thread.run (Thread.java:748)

Если я печатаю провайдера и версию, она печатается какConscrypt версия 1.0&nbsp;а такжеJDK 1.8.0_162, но все равно не удается подключиться к конечной точке http2

тот же кусок кода работает отлично, если я подключаюсь с помощью jdk9 с провайдером по умолчанию, чего мне здесь не хватает в конфигурации скопа?

Любая помощь приветствуется

заранее спасибо