Созданы экземпляры okhttpclient, созданные с помощью Newbuilder () от Common Client, делятся теми же пулами?JAVA

Программисты JAVA общаются здесь
Anonymous
Созданы экземпляры okhttpclient, созданные с помощью Newbuilder () от Common Client, делятся теми же пулами?

Сообщение 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;
}

}
В моем случае, экземпляры совместно используются те же внутренние пулы, как говорят Okhttpclient ?

Подробнее здесь: https://stackoverflow.com/questions/797 ... -share-the

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