Я построив AsyncHttpClient
так:Как мне выключить и перенастроить AsyncHttpClient, который использует NettyAsyncHttpProvider
public AsyncHttpClient getAsyncHttpClient() {
AsyncHttpClientConfig config = new AsyncHttpClientConfig.Builder()
.setProxyServer(makeProxyServer())
.setRequestTimeoutInMs((int) Duration.create(ASYNC_HTTP_REQUEST_TIMEOUT_MIN, TimeUnit.MINUTES).toMillis())
.build();
return new AsyncHttpClient(new NettyAsyncHttpProvider(config), config);
}
Это вызывается один раз при запуске, а затем возвращаемое значение передается вокруг и используется в различных мест. makeProxyServer()
- это моя собственная функция, позволяющая моим настройкам прокси вернуть объект ProxyServer
. Мне нужно сделать это, чтобы изменить настройки прокси-сервера, а затем воссоздать объект AsyncHttpClient
. Но я не знаю, как закрыть его чисто. Немного по поиску приводит меня к мысли, что close()
не изящно. Я беспокоюсь о том, что каждый раз, когда изменятся настройки прокси-сервера, возникает проблема с созданием нового исполнителя и набором потоков. Это будет не часто, но мое приложение очень длительное время.
Я знаю, что могу использовать RequestBuilder.setProxyServer()
для каждого запроса, но я хотел бы, чтобы он установлен в одном месте, так что все абоненты моей asyncHttpClient
инстанции подчиняются общесистемные настройки прокси-сервера, не каждый разработчик, чтобы помнить, чтобы сделать это ,
Каков правильный способ переустановки или смены и восстановления Netty
на основе AsyncHttpClient
?
Хех, я просто для этого вопроса получил значок переползания. Как я уже упоминал в вопросе, я работал над этим, выполняя setProxyServer() для каждого запроса, но общая проблема, связанная с возможностью отключения и восстановления Netyn-based AsyncHttpClient, кажется, что это будет интересовать больше людей. – kbyrd