പ്രോക്സി TCP സ്വീകരിച്ചു, പക്ഷേ CONNECT പ്രതികരണം ഒരിക്കലും പൂർത്തിയാക്കിയില്ല. വെബ്സൈറ്റിന്റെ പ്രതികരണം ഇതുവരെ തുടങ്ങിയിട്ടില്ല; ആ പിന്നീടുള്ള പ്രതികരണത്തെ മാത്രം ലക്ഷ്യമിടുന്ന ടൈംഔട്ട് ഈ സെറ്റപ്പ് പരിധിയില്ലാതെ കാത്തിരിക്കാൻ ഇടയാക്കാം.

Apache HttpClient 5.3.1-ന്, കണക്ഷൻ മാനേജറുടെ സ്ഥിരസ്ഥിതികൾ സജ്ജമാക്കുക:

var connection = ConnectionConfig.custom()
    .setConnectTimeout(Timeout.ofSeconds(5))
    .setSocketTimeout(Timeout.ofSeconds(10))
    .build();

var manager = PoolingHttpClientConnectionManagerBuilder.create()
    .setDefaultConnectionConfig(connection)
    .build();

var client = HttpClients.custom()
    .setConnectionManager(manager)
    .setProxy(new HttpHost("http", "proxy.example", 8080))
    .build();

Apache HttpComponents 5 ക്ലാസുകൾ org.apache.hc-ന് കീഴിൽ ഉപയോഗിക്കുക, Timeout എന്നത് core5 യൂട്ടിലിറ്റി പാക്കേജിൽ ആണ്. ക്ലയന്റ് അതിന്റെ ജോലിക്കായി സൂക്ഷിച്ച് അടയ്ക്കുക. ഒറ്റപ്പെട്ട പൊതു HTTP പരിശോധനയ്ക്ക്, HTTP പ്രോക്സി പട്ടികയിൽ നിന്നുള്ള ഒരു സ്ഥാനാർത്ഥി എൻഡ്പോയിന്റ് നൽകുന്നു; ടൈംഔട്ടുകൾ താരതമ്യം ചെയ്യുമ്പോൾ ലക്ഷ്യം സ്ഥിരമായി നിർത്തുക.

പരിധിപരിഹരിക്കുന്ന കാത്തിരിപ്പ്
കണക്ട് ടൈംഔട്ട്കണക്ഷൻ സ്ഥാപിക്കൽ
സോക്കറ്റ് ടൈംഔട്ട്CONNECT കൈമാറ്റം ഉൾപ്പെടെയുള്ള സ്ഥിരസ്ഥിതി I/O നിഷ്ക്രിയത
പൂളിൽ നിന്ന് എടുക്കൽ / ആപ്ലിക്കേഷൻ പ്രതികരണംവേറിട്ട് കോൺഫിഗർ ചെയ്ത മറ്റ് ഘട്ടങ്ങൾ

CONNECT-ന് ശേഷം, TLS-ന് HttpClient 5-ന്റെ TLS കോൺഫിഗറേഷനിലൂടെ സ്വന്തം സെറ്റപ്പ് പരിധി ആവശ്യമായി വന്നേക്കാം. നിഷ്ക്രിയതയും മൊത്തം സമയപരിധിയും തമ്മിലും വേർതിരിക്കുക: ഇടവിട്ടുള്ള ബൈറ്റുകളോ ആവർത്തിച്ചുള്ള പ്രാമാണീകരണ കൈമാറ്റങ്ങളോ മൊത്തം സമയം നീട്ടിയേക്കാം. ആപ്ലിക്കേഷന്റെ പിന്തുണയുള്ള സമയപരിധി അല്ലെങ്കിൽ റദ്ദാക്കൽ നയം ഉപയോഗിക്കുക മുഴുവൻ പ്രവർത്തനത്തിനും ഒരു ബജറ്റ്.

അനുബന്ധ ലേഖനങ്ങൾ