payara5 で java.lang.NoSuchMethodError: sun.security.ssl.SSLSessionImpl

追記 2019-08-01 :最新のpayara5ではこの問題は起きなくなっていた。


ssl通信を行おうとするとエラー

java.lang.NoSuchMethodError: sun.security.ssl.SSLSessionImpl.(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite;Ljava/util/Collection;Lsun/security/ssl/SessionId;Ljava/lang/String;IZ)V

解決方法
TLS fails with jdk 8u191 · Issue #3284 · payara/Payara · GitHub

1) go to path : $JDK_HOME$ /jre/lib/
1.1) copy this file : /jsse.jar

2) go to path : $PAYARA5_INSTALL$/glassfish/lib/
2.1) backup : grizzly-npn-bootstrap.jar

3) open "jsse.jar" with an archive editor
3.1) go to path (in archive) : sun/security/ssl
3.2) extract folder "ssl"

4) open "grizzly-npn-bootstrap.jar" with an archive editor
4.1) merge the "ssl" folder extracted from the "jsse.jar" archive with the "ssl" folder
into "grizzly-npn-bootstrap.jar", overwriting the files with the same name

5) restart payara.
and normally everything works properly

上にある2つのjarを両方解凍し、jsse.jarの方のsslフォルダの中身をgrizzly-npn-bootstrap.jarの方のsslに上書きコピー。
zip圧縮して拡張子をjarに変えて元の場所に配置。
で再起動。

で直った。
JDKバージョンを変えると良くなるという報告がいくつかあったが自分は治らなかった。