You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ff...@apache.org on 2018/10/24 06:41:43 UTC

[cxf] branch master updated: [CXF-7876]give a chance to reconnect the connection when encountering socket reset for TTL

This is an automated email from the ASF dual-hosted git repository.

ffang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf.git


The following commit(s) were added to refs/heads/master by this push:
     new 0cdc4bb  [CXF-7876]give a chance to reconnect the connection when encountering socket reset for TTL
0cdc4bb is described below

commit 0cdc4bb5e37fabbf6afeef47ce7c9913f3282103
Author: Freeman Fang <fr...@gmail.com>
AuthorDate: Wed Oct 24 14:41:26 2018 +0800

    [CXF-7876]give a chance to reconnect the connection when encountering socket reset for TTL
---
 .../org/apache/cxf/transport/http/URLConnectionHTTPConduit.java     | 6 +++---
 .../org/apache/cxf/transport/https/AllowAllHostnameVerifier.java    | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/URLConnectionHTTPConduit.java b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/URLConnectionHTTPConduit.java
index 01abef5..02157b3 100644
--- a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/URLConnectionHTTPConduit.java
+++ b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/URLConnectionHTTPConduit.java
@@ -25,7 +25,6 @@ import java.io.OutputStream;
 import java.net.HttpURLConnection;
 import java.net.ProtocolException;
 import java.net.Proxy;
-import java.net.SocketException;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
@@ -278,8 +277,9 @@ public class URLConnectionHTTPConduit extends HTTPConduit {
                     Boolean b = (Boolean)outMessage.get(HTTPURL_CONNECTION_METHOD_REFLECTION);
                     cout = connectAndGetOutputStream(b);
                 }
-            } catch (SocketException e) {
-                if ("Socket Closed".equals(e.getMessage())) {
+            } catch (Exception e) {
+                if ("Socket Closed".equals(e.getMessage())
+                    || "HostnameVerifier, socket reset for TTL".equals(e.getMessage())) {
                     connection.connect();
                     cout = connectAndGetOutputStream((Boolean)outMessage.get(HTTPURL_CONNECTION_METHOD_REFLECTION));
                 } else {
diff --git a/rt/transports/http/src/main/java/org/apache/cxf/transport/https/AllowAllHostnameVerifier.java b/rt/transports/http/src/main/java/org/apache/cxf/transport/https/AllowAllHostnameVerifier.java
index 189bc38..5fb26ed 100644
--- a/rt/transports/http/src/main/java/org/apache/cxf/transport/https/AllowAllHostnameVerifier.java
+++ b/rt/transports/http/src/main/java/org/apache/cxf/transport/https/AllowAllHostnameVerifier.java
@@ -36,7 +36,7 @@ class AllowAllHostnameVerifier implements javax.net.ssl.HostnameVerifier {
             Certificate[] certs = session.getPeerCertificates();
             return certs != null && certs[0] instanceof X509Certificate;
         } catch (SSLException e) {
-            return false;
+            throw new RuntimeException("HostnameVerifier, socket reset for TTL");
         }
     }