diff --git a/ChangeLog.txt b/ChangeLog.txt index eee3b4fc5..b90c02fa1 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,3 +1,6 @@ +2020.05.04 Version 8.6.4 + * Converted the httpsKeepAliveSocketFactory into a singleton for performance improvements. + 2020.03.30 Version 8.6.3 * Added the commitWriteOnInputStreamException option to BlobRequestOptions, which will allow the user to configure whether any data staged through openWrite when using the upload(InputStream, long) method will be committed upon failures in the InputStream. * Disabled httpsKeepAlive by default as it can introduce some perf issues. diff --git a/README.md b/README.md index e68be2436..686bff248 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ To get the binaries of this library as distributed by Microsoft, ready for use w com.microsoft.azure azure-storage - 8.6.3 + 8.6.4 ``` diff --git a/microsoft-azure-storage-samples/pom.xml b/microsoft-azure-storage-samples/pom.xml index 027319870..86b9e1499 100644 --- a/microsoft-azure-storage-samples/pom.xml +++ b/microsoft-azure-storage-samples/pom.xml @@ -26,7 +26,7 @@ com.microsoft.azure azure-storage - 8.6.3 + 8.6.4 com.microsoft.azure diff --git a/microsoft-azure-storage-samples/src/com/microsoft/azure/storage/logging/pom.xml b/microsoft-azure-storage-samples/src/com/microsoft/azure/storage/logging/pom.xml index 51ae2c68a..5cf7c8e47 100644 --- a/microsoft-azure-storage-samples/src/com/microsoft/azure/storage/logging/pom.xml +++ b/microsoft-azure-storage-samples/src/com/microsoft/azure/storage/logging/pom.xml @@ -26,7 +26,7 @@ com.microsoft.azure azure-storage - 8.6.3 + 8.6.4 com.microsoft.azure diff --git a/microsoft-azure-storage/src/com/microsoft/azure/storage/Constants.java b/microsoft-azure-storage/src/com/microsoft/azure/storage/Constants.java index f9dfd503f..c7858a743 100644 --- a/microsoft-azure-storage/src/com/microsoft/azure/storage/Constants.java +++ b/microsoft-azure-storage/src/com/microsoft/azure/storage/Constants.java @@ -765,7 +765,7 @@ public static class HeaderConstants { /** * Specifies the value to use for UserAgent header. */ - public static final String USER_AGENT_VERSION = "8.6.3"; + public static final String USER_AGENT_VERSION = "8.6.4"; /** * The default type for content-type and accept diff --git a/microsoft-azure-storage/src/com/microsoft/azure/storage/core/BaseRequest.java b/microsoft-azure-storage/src/com/microsoft/azure/storage/core/BaseRequest.java index f43d69f8a..f8d09e1da 100644 --- a/microsoft-azure-storage/src/com/microsoft/azure/storage/core/BaseRequest.java +++ b/microsoft-azure-storage/src/com/microsoft/azure/storage/core/BaseRequest.java @@ -230,7 +230,7 @@ protected PasswordAuthentication getPasswordAuthentication() { */ if (retConnection instanceof HttpsURLConnection && !options.disableHttpsSocketKeepAlive()) { HttpsURLConnection httpsConnection = ((HttpsURLConnection) retConnection); - httpsConnection.setSSLSocketFactory(new KeepAliveSocketFactory(httpsConnection.getSSLSocketFactory())); + httpsConnection.setSSLSocketFactory(KeepAliveSocketFactory.getInstance()); } /* diff --git a/microsoft-azure-storage/src/com/microsoft/azure/storage/core/KeepAliveSocketFactory.java b/microsoft-azure-storage/src/com/microsoft/azure/storage/core/KeepAliveSocketFactory.java index 3e241f28e..4a83071fc 100644 --- a/microsoft-azure-storage/src/com/microsoft/azure/storage/core/KeepAliveSocketFactory.java +++ b/microsoft-azure-storage/src/com/microsoft/azure/storage/core/KeepAliveSocketFactory.java @@ -15,6 +15,7 @@ package com.microsoft.azure.storage.core; +import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLSocketFactory; import java.io.IOException; import java.net.InetAddress; @@ -39,10 +40,16 @@ public class KeepAliveSocketFactory extends SSLSocketFactory { private SSLSocketFactory delegate; + private static final KeepAliveSocketFactory singletonKeepAliveSocketFactory = new KeepAliveSocketFactory(HttpsURLConnection.getDefaultSSLSocketFactory()); + KeepAliveSocketFactory(SSLSocketFactory delegate) { this.delegate = delegate; } + public static KeepAliveSocketFactory getInstance() { + return singletonKeepAliveSocketFactory; + } + @Override public String[] getDefaultCipherSuites() { return delegate.getDefaultCipherSuites(); diff --git a/pom.xml b/pom.xml index f771ae3eb..e26ddd448 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ 4.0.0 com.microsoft.azure azure-storage - 8.6.3 + 8.6.4 jar Microsoft Azure Storage Client SDK