2014-03-24 26 views
2

有幾天我們有JDK8。我試圖用SPDY服務器運行Jetty。在JDK8沒有NPN支持,所以它結束:如何在JDK8上使用SPDY運行Jetty?

[[email protected]/1] WARN 
org.eclipse.jetty.io.SelectorManager - Exception while notifying connection [email protected]{NEED_UNWRAP,eio=-1/-1,di=-1} -> 
[email protected]{IDLE} 
java.lang.NoSuchMethodError: 
sun.security.ssl.HandshakeHash.<init>(ZZLjava/util/Set;)V 
    at sun.security.ssl.Handshaker.activate(Handshaker.java:493) 

我與npn-boot-1.1.6.v20130911.jar CLASSPATH上與最新的JDK7的工作運行。

有沒有關於如何在JDK8上使用SPDY運行Jetty的解決方法?

回答

6

我是Jetty中NPN的實現者。

NPN是通過修改JDK類來實現的,因爲缺少JDK中的TLS擴展API。 NPN版本嚴格符合documentation中規定的JDK版本。

對於JDK 8,我們不打算支持NPN。相反,我們將支持作爲NPN的後繼者的ALPN,並將ALPN實現也支持到JDK 7。

ALPN的實現已在分支中完成,但尚未集成到主Jetty構建中。

您必須耐心等待一段時間,我們需要完成一堆事情並將ALPN集成到Jetty主站中。當完成後,我們將blog左右。

+0

我得到一個異常使用熱點jdk1.8u40'java.lang.NoSuchMethodError:sun.security.ssl.HandshakeHash.setCertificateVerifyAlg'。這隻適用於OpenJDK嗎? – jiggy

+0

JDK 8不支持NPN,您必須使用[ALPN](https://www.eclipse.org/jetty/documentation/current/alpn-chapter.html)。 – sbordet

相關問題