весеннее облако с лентой / eureka / hystrix с помощью restTemplate не может установить время ожидания соединения / чтения
Я создал загрузочное приложение Spring с использованием Spring-Cloud и хочу использовать RestTemplate в своем клиентском приложении (которое также является микросервисом), чтобы я мог продолжать использовать mockMvc для интеграционного тестирования. Я использую стандартную настройку клиента ленты / eureka / hystrix с моим клиентским микросервисом и клиентом eureka в рамках службы, которую я вызываю. Это работает (как только я выяснил, что serviceIds - это то, что идентифицирует конечную точку службы в restTemplate). Моя проблема в том, что я не могу изменить чтение restTemplate или тайм-аут соединения с того, что кажется по умолчанию 300 мс.
Подробности по звонку:
`@Configuration
@EnableAutoConfiguration
@ComponentScan
@EnableConfigurationProperties
@EnableHystrix
@EnableEurekaClient
public class Application { ... public static void main(String[] args) {} ... }
@Component
class EricComponentToDoHystrix { // apparently this has to be a component for hystrix to work btw
@Autowired
RestTemplate restTemplate;
..
@HystrixCommand(fallbackMethod="defaultRestTemplateCall")
public void doRestTemplateCall()
ResponseEntity<String> result = restTemplate.getForEntity("http://someservice/doSomething", String.class); // actually make a call
..
}
}`
с application.properties, содержащим:
spring:
cloud:
client:
serviceIds:
- someservice
someservice:
ribbon:
#listOfServers: localhost:7080
#NIWSServerListClassName: com.netflix.niws.loadbalancer.DiscoveryEnabledNIWSServerList
# the eureka vipAddress of the target service (Disabled)
DeploymentContextBasedVipAddresses: someservice
# Interval to refresh the server list from the source
ServerListRefreshInterval: 1000
# Connect timeout used by Apache HttpClient.. apparently not by restTemplate
ConnectTimeout: 30000
# Read timeout used by Apache HttpClient.. apparently not by restTemplate
ReadTimeout: 30000
eureka:
client:
#Region where eureka is deployed -For AWS specify one of the AWS regions, for other datacenters specify a arbitrary string
#indicating the region.This is normally specified as a -D option (eg) -Deureka.region=us-east-1
region: default
#For eureka clients running in eureka server, it needs to connect to servers in other zones
preferSameZone: false
us-east-1:
availabilityZones: default
instance:
#Virtual host name by which the clients identifies this service
virtualHostName: ${spring.application.name}
appGroupName: ericGroup
# disable Ribbon's cicruit breaker and rely soley on Hystrix.
# this helps to avoid confusion.
# see https://github.com/Netflix/ribbon/issues/15
niws:
loadbalancer:
availabilityFilteringRule:
filterCircuitTripped: false
Кто-нибудь знает, какие свойства мне нужно, чтобы установить, чтобы изменить время ожидания по умолчанию restTemplate? Документация очень легка в этом вопросе, и кажется, что код только недавно даже позволил использовать restTemplate против значений по умолчанию при загрузке с ленты / eureka. Возможно, это еще не было построено.