Общий экземпляр okhttpclient для http и wsJAVA

Программисты JAVA общаются здесь
Anonymous
Общий экземпляр okhttpclient для http и ws

Сообщение Anonymous »

Согласно документам okhttpclient , лучше использовать один общий экземпляр.
В моем случае мне нужен клиент для HTTP -запросов и клиент для соединений WebSocket; Оба имеют разные конфигурации.
Поэтому я создал этот класс, который создает базовый клиент, а затем вызывает base.newbuilder () для клиентов HTTP и WS.
public class OkHttpClients{

private static final OkHttpClient BASE = new OkHttpClient.Builder().build();

private static final OkHttpClient HTTP = BASE.newBuilder()
.followRedirects(false)
.readTimeout(Duration.ofSeconds(5))
.retryOnConnectionFailure(true)
.build();

private static final OkHttpClient WS = BASE.newBuilder()
.pingInterval(Duration.ofMinutes(1))
.readTimeout(Duration.ofMillis(0))
.connectTimeout(Duration.ofMillis(0))
.build();

public static OkHttpClient getHttp(){
return HTTP;
}

public static OkHttpClient getWS(){
return WS;
}

}
< /code>
В моем случае, экземпляры делятся теми же внутренними пулами, как говорит Okhttpclient? Хорошо ли это сделать в моем случае?

Подробнее здесь: https://stackoverflow.com/questions/797 ... ttp-and-ws

Вернуться в «JAVA»