Jetty Http2客户端SSL连接超时

Jetty Http2客户端SSL连接超时,jetty,http2,alpn,Jetty,Http2,Alpn,设置:Spring Boot 1.4.1 Maven依赖项: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId&

设置:Spring Boot 1.4.1

Maven依赖项:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.eclipse.jetty.http2</groupId>
        <artifactId>http2-client</artifactId>
        <version>9.4.6.v20170531</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-io</artifactId>
        <version>9.4.6.v20170531</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-util</artifactId>
        <version>9.4.6.v20170531</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-http</artifactId>
        <version>9.4.6.v20170531</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-http</artifactId>
        <version>9.4.6.v20170531</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-alpn-client</artifactId>
        <version>9.4.6.v20170531</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.jetty.alpn</groupId>
        <artifactId>alpn-api</artifactId>
        <version>1.1.3.v20160715</version>
    </dependency>
连接片段:

this.client = new HTTP2Client();
            client.setIdleTimeout(-1);//disable client session timeout
            try {
                client.addBean(this.sslContextFactory);
                client.start();
                System.out.println("Connecting on " + this.host + ":" + this.port);
                FuturePromise<Session> sessionPromise = new FuturePromise<>();
                client.connect(sslContextFactory, new InetSocketAddress(this.host, this.port), new NEADSessionListener(clientInstanceName, this), sessionPromise);
                this.session = sessionPromise.get(5, TimeUnit.SECONDS);
            } catch (...) {
哪个版本适合我的JVM

结果是

java.util.concurrent.TimeoutException
        at org.eclipse.jetty.util.FuturePromise.get(FuturePromise.java:130)
将jetty logger设置为“调试”没有多大帮助,最后记录的项目有:

2017-07-21 04:44:51.483 DEBUG 18323 --- [tp1224347463-26] org.eclipse.jetty.io.FillInterest        : FillInterest@673fa7d3{true,SSLC.NBReadCB@29ab178d{SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e<-SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443<->/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=0/-1}{io=0/0,kio=0,kro=1}->SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e}} register SSLC.NBReadCB@29ab178d{SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e<-SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443<->/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=0/-1}{io=0/0,kio=0,kro=1}->SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e}
2017-07-21 04:44:51.483 DEBUG 18323 --- [tp1224347463-26] org.eclipse.jetty.io.ChannelEndPoint     : changeInterests p=false 0->1 for SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443<->/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=0/-1}{io=0/1,kio=0,kro=1}->SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e
2017-07-21 04:44:51.484 DEBUG 18323 --- [tp1224347463-26] org.eclipse.jetty.io.ManagedSelector     : Queued change CEP:SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443<->/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=0/-1}{io=0/1,kio=0,kro=1}->SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e:runUpdateKey:NON_BLOCKING on org.eclipse.jetty.io.ManagedSelector@1ed1993a id=0 keys=1 selected=0
2017-07-21 04:44:51.484 DEBUG 18323 --- [tp1224347463-29] org.eclipse.jetty.io.ManagedSelector     : Selector loop woken up from select, 0/1 selected
2017-07-21 04:44:51.484 DEBUG 18323 --- [tp1224347463-26] org.eclipse.jetty.io.ssl.SslConnection   : onFillable exit DecryptedEndPoint@51fd3eea{nead.2.addr/10.203.6.184:9443<->/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=1/-1}->ALPNClientConnection@474a457e->SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443<->/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=1/-1}{io=0/1,kio=0,kro=1}->SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e
2017-07-21 04:44:51.484 DEBUG 18323 --- [tp1224347463-29] org.eclipse.jetty.io.ManagedSelector     : Running action CEP:SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443<->/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=1/-1}{io=0/1,kio=0,kro=1}->SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e:runUpdateKey:NON_BLOCKING
2017-07-21 04:44:51.484 DEBUG 18323 --- [tp1224347463-26] o.e.j.u.t.Invocable$InvocableExecutor    : org.eclipse.jetty.util.thread.Invocable$InvocableExecutor@5b99f42f invoked CEP:SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443<->/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=1/-1}{io=0/1,kio=0,kro=1}->SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e:runFillable:BLOCKING
2017-07-21 04:44:51.484 DEBUG 18323 --- [tp1224347463-26] o.e.j.u.thread.strategy.EatWhatYouKill   : EatWhatYouKill@1f3f4916/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@794cb805/PRODUCING/1/1 produce exit
2017-07-21 04:44:51.484 DEBUG 18323 --- [tp1224347463-29] org.eclipse.jetty.io.ChannelEndPoint     : Key interests updated 0 -> 1 on SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443<->/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=1/-1}{io=1/1,kio=1,kro=1}->SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e
2017-07-21 04:44:51.484 DEBUG 18323 --- [tp1224347463-26] o.e.jetty.util.thread.QueuedThreadPool   : ran EatWhatYouKill@1f3f4916/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@794cb805/PRODUCING/1/1
2017-07-21 04:44:51.484 DEBUG 18323 --- [tp1224347463-29] org.eclipse.jetty.io.ManagedSelector     : Selector loop waiting on select
2017-07-21 04:44:51.483调试18323---[tp1224347463-26]org.eclipse.jetty.io.FillInterest:FillInterest@673fa7d3{对,SSLC。NBReadCB@29ab178d{SslConnection@29ab178d{非握手,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457eSslConnection@29ab178d{非握手,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e}}注册SSLC。NBReadCB@29ab178d{SslConnection@29ab178d{非握手,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457eSslConnection@29ab178d{非握手,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e}
2017-07-21 04:44:51.483调试18323---[tp1224347463-26]org.eclipse.jetty.io.ChannelEndPoint:changeInterests p=false 0->1SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=0/-1}{io=0/1,kio=0,kro=1}->SslConnection@29ab178d{非握手,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e
2017-07-21 04:44:51.484调试18323---[tp1224347463-26]org.eclipse.jetty.io.ManagedSelector:排队更改CEP:SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=0/-1}{io=0/1,kio=0,kro=1}->SslConnection@29ab178d{非握手,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e:runUpdateKey:org.eclipse.jetty.io上的非阻塞。ManagedSelector@1ed1993aid=0键=1选中=0
2017-07-21 04:44:51.484调试18323---[tp1224347463-29]org.eclipse.jetty.io.ManagedSelector:选择器循环从选择中唤醒,0/1已选择
2017-07-21 04:44:51.484调试18323---[tp1224347463-26]org.eclipse.jetty.io.ssl.ssl连接:可配置退出DecryptedEndPoint@51fd3eea{nead.2.addr/10.203.6.184:9443/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=1/-1}->ALPNClientConnection@474a457e->SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=1/-1}{io=0/1,kio=0,kro=1}->SslConnection@29ab178d{非握手,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e
2017-07-21 04:44:51.484调试18323---[tp1224347463-29]org.eclipse.jetty.io.ManagedSelector:运行操作CEP:SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=1/-1}{io=0/1,kio=0,kro=1}->SslConnection@29ab178d{非握手,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e:runUpdateKey:非阻塞
2017-07-21 04:44:51.484调试18323---[tp1224347463-26]o.e.j.u.t.Invocable$InvocableExecutor:org.eclipse.jetty.util.thread.Invocable$InvocableExecutor@5b99f42f调用的CEP:SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=1/-1}{io=0/1,kio=0,kro=1}->SslConnection@29ab178d{非握手,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e:可运行填充:阻塞
2017-07-21 04:44:51.484调试18323---[tp1224347463-26]o.e.j.u.thread.strategy.EatWhatYouKill:EatWhatYouKill@1f3f4916/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@794cb805/生产/1/1生产出口
2017-07-21 04:44:51.484调试18323---[tp1224347463-29]org.eclipse.jetty.io.ChannelEndPoint:主要兴趣更新0->1SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=1/-1}{io=1/1,kio=1,kro=1}->SslConnection@29ab178d{非握手,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e
2017-07-21 04:44:51.484调试18323---[tp1224347463-26]o.e.jetty.util.thread.QueuedThreadPool:运行EatWhatYouKill@1f3f4916/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@794cb805/制作/1/1
2017-07-21 04:44:51.484调试18323---[tp1224347463-29]org.eclipse.jetty.io.ManagedSelector:选择器循环等待选择

请注意,使用相同的密钥连接到同一服务器的操作是从另一个软件进行的。

结果表明,Java开关的顺序是问题的原因——更具体地说,
-Xbootclasspath/p:/path/to/alpn-boot-8.1.10.v20161026.jar
需要在任何其他操作之前进行,肯定是在
-jar program.jar之前de>

没有足够的信息。服务器是否正确配置为运行HTTP/2?如果可以轻松复制,请在上打开一个问题并附加一个可复制的测试用例?谢谢!谢谢。最终发现这只是我们加载项目的方式。IDE在末尾添加了-Xbootclasspath,而不是在-jar之前。…如果客户端抛出的错误更具体一点,那就好了,因为很明显,它无法在没有ALPN的情况下协商连接。
java.util.concurrent.TimeoutException
        at org.eclipse.jetty.util.FuturePromise.get(FuturePromise.java:130)
2017-07-21 04:44:51.483 DEBUG 18323 --- [tp1224347463-26] org.eclipse.jetty.io.FillInterest        : FillInterest@673fa7d3{true,SSLC.NBReadCB@29ab178d{SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e<-SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443<->/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=0/-1}{io=0/0,kio=0,kro=1}->SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e}} register SSLC.NBReadCB@29ab178d{SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e<-SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443<->/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=0/-1}{io=0/0,kio=0,kro=1}->SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e}
2017-07-21 04:44:51.483 DEBUG 18323 --- [tp1224347463-26] org.eclipse.jetty.io.ChannelEndPoint     : changeInterests p=false 0->1 for SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443<->/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=0/-1}{io=0/1,kio=0,kro=1}->SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e
2017-07-21 04:44:51.484 DEBUG 18323 --- [tp1224347463-26] org.eclipse.jetty.io.ManagedSelector     : Queued change CEP:SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443<->/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=0/-1}{io=0/1,kio=0,kro=1}->SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e:runUpdateKey:NON_BLOCKING on org.eclipse.jetty.io.ManagedSelector@1ed1993a id=0 keys=1 selected=0
2017-07-21 04:44:51.484 DEBUG 18323 --- [tp1224347463-29] org.eclipse.jetty.io.ManagedSelector     : Selector loop woken up from select, 0/1 selected
2017-07-21 04:44:51.484 DEBUG 18323 --- [tp1224347463-26] org.eclipse.jetty.io.ssl.SslConnection   : onFillable exit DecryptedEndPoint@51fd3eea{nead.2.addr/10.203.6.184:9443<->/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=1/-1}->ALPNClientConnection@474a457e->SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443<->/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=1/-1}{io=0/1,kio=0,kro=1}->SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e
2017-07-21 04:44:51.484 DEBUG 18323 --- [tp1224347463-29] org.eclipse.jetty.io.ManagedSelector     : Running action CEP:SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443<->/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=1/-1}{io=0/1,kio=0,kro=1}->SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e:runUpdateKey:NON_BLOCKING
2017-07-21 04:44:51.484 DEBUG 18323 --- [tp1224347463-26] o.e.j.u.t.Invocable$InvocableExecutor    : org.eclipse.jetty.util.thread.Invocable$InvocableExecutor@5b99f42f invoked CEP:SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443<->/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=1/-1}{io=0/1,kio=0,kro=1}->SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e:runFillable:BLOCKING
2017-07-21 04:44:51.484 DEBUG 18323 --- [tp1224347463-26] o.e.j.u.thread.strategy.EatWhatYouKill   : EatWhatYouKill@1f3f4916/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@794cb805/PRODUCING/1/1 produce exit
2017-07-21 04:44:51.484 DEBUG 18323 --- [tp1224347463-29] org.eclipse.jetty.io.ChannelEndPoint     : Key interests updated 0 -> 1 on SocketChannelEndPoint@390cc1df{nead.2.addr/10.203.6.184:9443<->/192.168.111.11:41652,OPEN,fill=FI,flush=-,to=1/-1}{io=1/1,kio=1,kro=1}->SslConnection@29ab178d{NOT_HANDSHAKING,eio=-1/-1,di=-1}=>ALPNClientConnection@474a457e
2017-07-21 04:44:51.484 DEBUG 18323 --- [tp1224347463-26] o.e.jetty.util.thread.QueuedThreadPool   : ran EatWhatYouKill@1f3f4916/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@794cb805/PRODUCING/1/1
2017-07-21 04:44:51.484 DEBUG 18323 --- [tp1224347463-29] org.eclipse.jetty.io.ManagedSelector     : Selector loop waiting on select