Получите значения тайм-аута из HttpComponentsClientHttpRequestFactory, используя пружину ReflectionUtils - PullRequest
0 голосов
/ 17 марта 2019

Я использую org.springframework.http.client.HttpComponentsClientHttpRequestFactory в своем коде, и я хочу использовать Reflection (org.springframework.util.ReflectionUtils) для получения некоторых значений времени ожидания, таких как ConnectTimeout, из этого объекта. Мне не очень понятно, как извлечь это поле из этого объекта.

Я пробовал что-то вроде: ReflectionUtils.findField(httpComponentsClientHttpRequestFactory.getClass(), "connectTimeout");

Но значение возвращается как ноль.

1 Ответ

0 голосов
/ 17 марта 2019

Значения времени ожидания являются частью поля RequestConfig объекта HttpComponentsClientHttpRequestFactory.Ниже приведен код для доступа к тому же.

HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
factory.setConnectTimeout(1000);

Field requestConfigField = ReflectionUtils.findField(
   HttpComponentsClientHttpRequestFactory.class, "requestConfig", RequestConfig.class);
requestConfigField.setAccessible(true);
RequestConfig requestConfig = (RequestConfig) ReflectionUtils.getField(requestConfigField, factory);

System.out.println("Connect timeoout = " + requestConfig.getConnectTimeout());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...