2014-03-24 3 views
2

며칠 동안 우리는 JDK8을 가지고 있습니다. 나는 SPDY 서버로 Jetty를 실행하려고 시도했다. 나는 최신 JDK7 작동 CLASSPATH에 npn-boot-1.1.6.v20130911.jar 그것을 실행 한JDK8에서 SPDY로 부두를 실행하는 방법은 무엇입니까?

[[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) 

: 그것으로 끝나는 있도록 JDK8에는 NPN 지원이 없습니다.

JDK8에서 SPDY로 부두를 실행하는 방법에 대한 해결 방법이 있습니까?

답변

6

저는 Jetty의 NPN을 구현했습니다.

NPN은 JDK에서 TLS 확장 API가 부족한 JDK 클래스를 수정하여 구현됩니다. NPN 버전은 documentation에 지정된 JDK 버전과 완전히 일치합니다.

JDK 8의 경우 NPN을 지원할 계획이 없습니다. 대신, 우리는 NPN의 후계자 인 ALPN을 지원하고 ALPN 구현을 JDK 7에도 백 포트합니다.

ALPN에 대한 구현은 이미 지점에서 수행되지만 아직 기본 Jetty 빌드에는 통합되어 있지 않습니다.

조금만 기다려야합니다. 우리는 많은 것들을 마무리하고 ALPN을 부두 마스터에 통합해야합니다. 완료되면 우리는 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

관련 문제