Я хочу, чтобы резервный метод вызывался после того, как сервису требуется более 350 миллисекунд. Даже после 10 000 миллисекунд метод все еще не вызывается.
Я запускаю тест JUnit, в котором используется Mockito.
UnitTesting.java
...
@Test
public void test1() {
when(service.getId()).thenAnswer(new Answer<Integer>() {
public Integer answer(InvocationOnMock invocation){
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return -1;
}});
LateralService latService= new LateralService(service);
ArrayList<IdService> returnedIdServices = latService.getIdServices(); //getId() is invoked in this method
...
}
LateralService.java
...
@HystrixCommand(groupKey = "fallback",
commandKey = "fallback",
fallbackMethod = "idServiceFallBack",
commandProperties = {
@HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "350")})
public ArrayList<IdService> getIdServices() {
int id = service.getId();
...
}
public ArrayList<IdService> idServiceFallBack(){
return new ArrayList<IdService>() { add(new IdService(1)) }
}