2

几天来我们有JDK8。我试图用 SPDY 服务器运行 Jetty。在 JDK8 中没有 NPN 支持,所以它以:

[qtp22068985-16-selector-ServerConnectorManager@12e7b0e/1] WARN
org.eclipse.jetty.io.SelectorManager - Exception while notifying connection SslConnection@e1448a{NEED_UNWRAP,eio=-1/-1,di=-1} ->
NPNServerConnection@382d40{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 的解决方法?

4

1 回答 1

6

I am the implementer of NPN in Jetty.

NPN is implemented by modifying the JDK classes for the lack of a TLS Extension API in the JDK. The NPN versions match strictly a JDK version as specified in the documentation.

For JDK 8 we don't plan to support NPN. Instead, we will support ALPN which is the successor to NPN, and backport the ALPN implementation to JDK 7 too.

The implementations for ALPN are already done in a branch, but not integrated yet in the main Jetty build.

You have to be patient for a little while, we need to finalize a bunch of things and integrate ALPN in Jetty master. When that is done we'll blog about.

于 2014-03-24T13:22:15.670 回答