HTTP istemci ömrü (ARCH4083)
Anahtar java.performance.http-client-lifetime · Önem error · Kategori performance
Her çağrıda yeni bir HttpClient oluşturmak, bağlantı havuzunu yeniden kuran ve TIME_WAIT durumunda soket biriktiren bir kalıptır. İstemci paylaşılan bir singleton olmalıdır.
Hatalı
Bölüm başlığı “Hatalı”public String fetch(String url) throws Exception { HttpClient client = HttpClient.newHttpClient(); return client.send(request(url), ofString()).body();}private static final HttpClient CLIENT = HttpClient.newHttpClient();
public String fetch(String url) throws Exception { return CLIENT.send(request(url), ofString()).body();}Düzeltme
Bölüm başlığı “Düzeltme”Tek bir HttpClient örneğini paylaşılan bir alanda tutarak tüm isteklerde yeniden kullanın.