В общем, что я сталкиваюсь сегодня является следующее:Обработка тайм-аут с AndroidAnnotations (весна отдых)
- Handle Время ожидания запроса при выполнении Rest действия.
Похоже на простой, но не простой код.
Это моя реализация до сих пор:
List<ClientHttpRequestInterceptor> interceptors = new ArrayList<ClientHttpRequestInterceptor>();
interceptors.add(new NetworkInterceptor());
tpl.setInterceptors(interceptors);
Так что теперь, после установки перехватчиков, я хотел бы установить пользовательский таймаут конфигурацию для шаблона.
Так что я делаю следующее: tpl.getRequestFactory()
.
Это возвращает InterceptingClientHttpRequestFactory
вместо SimpleClientHttpRequestFactory
, как и в случае отсутствия перехватчиков.
Так как он возвращает то, что InterceptingClientHttpRequestFactory
экземпляр, я не могу установить таймаут.
Вы можете проверить исходный код весны, последний способ: http://grepcode.com/file_/repo1.maven.org/maven2/org.springframework/spring-web/3.1.1.RELEASE/org/springframework/http/client/support/InterceptingHttpAccessor.java/?v=source
So ... Любые советы?
Я пробовал что-то подобное. Проблема в том, что после того, как вы установили какой-либо перехватчик, вы не сможете изменить шаблон, поскольку он зафиксировал nw до InterceptingClientHttpRequestFactory. – Reinherd
Даже если вы сохраняете ссылку на свой SimpleClientHttpRequestFactory? InterceptingClientHttpRequestFactory сохраняет ссылку на SimpleClientHttpRequestFactory, поэтому я думаю, что вы можете изменить таймауты. – eltabo
Завтра я попробую. Благодарю. – Reinherd