Compartilhar via


KeepAliveSocketFactory Classe

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

public class KeepAliveSocketFactory

RESERVADO PARA USO INTERNO.

Esse tipo é usado para ajudar a contornar um bug no JDK em que os tempos limite de conexão não são respeitados em uma solicitação repetida. Em outras palavras, se um cliente definir um tempo limite em uma operação, esse tempo limite só será respeitado na primeira tentativa na solicitação. As novas tentativas farão com que uma implementação de conexão subjacente diferente seja carregada que ignorará o parâmetro de tempo limite. Portanto, as solicitações poderão travar para sempre se a conexão for interrompida após essas novas tentativas.

Habilitar tempos limite de keep alive atua como um fallback nesses cenários para que, mesmo que o tempo limite da operação seja ignorado, o soquete ainda acabará atingindo o tempo limite e a solicitação será cancelada. Habilitamos tempos limite de keep alive por meio de uma implementação de wrapper de um SocketFactory. Usamos uma fábrica de soquete padrão para obter soquetes do sistema e, em seguida, simplesmente definimos a opção keep alive como true antes de retornar ao cliente. Essa fábrica será definida nos objetos HttpsUrlConnection.

Resumo do método

Modificador e tipo Método e descrição
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()

Detalhes do método

createSocket

public Socket createSocket(InetAddress inetAddress, int i)

Parâmetros:

inetAddress
i

createSocket

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

Parâmetros:

inetAddress
i
inetAddress1
i1

createSocket

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

Parâmetros:

socket
s
i
b

createSocket

public Socket createSocket(String s, int i)

Parâmetros:

s
i

createSocket

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

Parâmetros:

s
i
inetAddress
i1

getDefaultCipherSuites

public String [] getDefaultCipherSuites()

getInstance

public static KeepAliveSocketFactory getInstance()

getSupportedCipherSuites

public String [] getSupportedCipherSuites()

Aplica-se a