Partager via


KeepAliveSocketFactory Classe

  • java.lang.Object
    • SSLSocketFactory
      • com.microsoft.azure.storage.core.KeepAliveSocketFactory

public class KeepAliveSocketFactory

RÉSERVÉ À UN USAGE INTERNE.

Ce type est utilisé pour contourner un bogue dans le JDK où les délais d’expiration de connexion ne sont pas respectés lors d’une demande retentée. En d’autres termes, si un client définit un délai d’expiration sur une opération, ce délai d’expiration n’est jamais respecté qu’à la première tentative de la demande. Les nouvelles tentatives entraînent le chargement d’une implémentation de connexion sous-jacente différente qui ignore le paramètre de délai d’expiration. Par conséquent, les demandes peuvent potentiellement se bloquer pour toujours si la connexion est interrompue après ces nouvelles tentatives.

L’activation des délais d’expiration de conservation en vie agit comme une secours dans ces scénarios, de sorte que, même si le délai d’expiration de l’opération est ignoré, le socket finit toujours par expirer et la demande est annulée. Nous activons les délais d’expiration actifs via une implémentation de wrapper d’un SocketFactory. Nous utilisons une fabrique de sockets par défaut pour obtenir les sockets du système, puis nous définissons simplement l’option keep-alive sur true avant de revenir au client. Cette fabrique sera définie sur les objets HttpsUrlConnection.

Résumé de la méthode

Modificateur et type Méthode et description
Socket createSocket(InetAddress inetAddress, int i)
Socket createSocket(InetAddress inetAddress, int i, InetAddress inetAddress1, int i1)
Socket createSocket(Socket socket, String s, int i, boolean b)
Socket createSocket(String s, int i)
Socket createSocket(String s, int i, InetAddress inetAddress, int i1)
String [] getDefaultCipherSuites()
KeepAliveSocketFactory getInstance()
String [] getSupportedCipherSuites()

Détails de la méthode

createSocket

public Socket createSocket(InetAddress inetAddress, int i)

Paramètres:

inetAddress
i

createSocket

public Socket createSocket(InetAddress inetAddress, int i, InetAddress inetAddress1, int i1)

Paramètres:

inetAddress
i
inetAddress1
i1

createSocket

public Socket createSocket(Socket socket, String s, int i, boolean b)

Paramètres:

socket
s
i
b

createSocket

public Socket createSocket(String s, int i)

Paramètres:

s
i

createSocket

public Socket createSocket(String s, int i, InetAddress inetAddress, int i1)

Paramètres:

s
i
inetAddress
i1

getDefaultCipherSuites

public String [] getDefaultCipherSuites()

getInstance

public static KeepAliveSocketFactory getInstance()

getSupportedCipherSuites

public String [] getSupportedCipherSuites()

S’applique à