javafx-webview 加载页面卡住排查
准备环境
-Djavax.net.debug=all
代码
webView.getEngine().getLoadWorker().stateProperty().addListener(new ChangeListener<Worker.State>() {@Overridepublic void changed(ObservableValue<? extends Worker.State> observable, Worker.State oldValue, Worker.State newValue) {System.out.println(webView.getEngine().getLoadWorker().exceptionProperty());}});
TrustManager[] trustAllCerts = new TrustManager[] {new MyManager()};// Install the all-trusting trust managerSSLContext sc = null;try {sc = SSLContext.getInstance("SSL");} catch (NoSuchAlgorithmException e) {e.printStackTrace();}try {sc.init(null, trustAllCerts, new java.security.SecureRandom());} catch (KeyManagementException e) {e.printStackTrace();}HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());// Create all-trusting host name verifierHostnameVerifier allHostsValid = new HostnameVerifier() {public boolean verify(String hostname, SSLSession session) {return true;}};// Install the all-trusting host verifierHttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
报错信息
javax.net.ssl|WARNING|17|Keep-Alive-Timer|2022-11-24 11:27:53.953 CST|SSLSocketImpl.java:500|SSLSocket duplex close failed (
"throwable" : {java.net.SocketException: Socket is closedat java.net.Socket.shutdownInput(Socket.java:1538)at sun.security.ssl.BaseSSLSocketImpl.shutdownInput(BaseSSLSocketImpl.java:216)at sun.security.ssl.SSLSocketImpl.shutdownInput(SSLSocketImpl.java:743)at sun.security.ssl.SSLSocketImpl.bruteForceCloseInput(SSLSocketImpl.java:693)at sun.security.ssl.SSLSocketImpl.duplexCloseOutput(SSLSocketImpl.java:553)at sun.security.ssl.SSLSocketImpl.close(SSLSocketImpl.java:485)at sun.net.www.http.HttpClient.closeServer(HttpClient.java:1053)at sun.net.www.http.KeepAliveCache.run(KeepAliveCache.java:199)at java.lang.Thread.run(Thread.java:748)})
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
