Есть ли способ с клиентом (RestTemplate
или более новым WebClient
) установить для каждого сокета назначения или подключить тайм-ауты?Например, в веб-службе агрегации API, где я общаюсь с несколькими различными службами / хостами, часто желательно иметь разные тайм-ауты сокетов в зависимости от того, являются ли службы внутренними или внешними / сторонними.Единственное решение, которое я знаю (с RestTemplate
, я не использовал WebClient
), это создать отдельный RestTemplate
с другим тайм-аутом сокета / соединения (и сделать это для каждого хоста, для которого требуется другой тайм-аут),
Это довольно раздражает, потому что количество кода настройки, необходимого для RestTemplate
, настроенного с HttpComponents
, нетривиально, и необходимость добавлять @Qualifier
при каждом использовании RestTemplate
инъекции также не-идеалом.Кроме того, тот факт, что HttpComponents
допускает максимальное количество подключений и максимальное количество маршрутов к хосту, подразумевает, что один RestTemplate, взаимодействующий со всем исходящим трафиком, является ожидаемым использованием.