У меня есть следующий запасной вариант Hystrix
public List<Data> getDataFallback(String id, LocalDate startDate, LocalDate endDate, Throwable t) {
log.warn("Could not get data");
throw new DataException(ErrorMessage.builder()
.code(COULD_NOT_GET_DATA.name())
.internalMessage(t.getMessage())
.build());
}
Он подключен к следующему методу
@Override
@HystrixCommand(fallbackMethod = "getDataFallback")
public List<Data> getData(String id, LocalDate startDate, LocalDate endDate) {
return repository.find(id, startDate, endDate);
}
При выполнении тестов JUnit и, вероятно, также при запуске службы, я получаюследующая ошибка при запуске метода getData
com.netflix.hystrix.contrib.javanica.exception.FallbackDefinitionException: Incompatible return types.
Command method: public java.util.List package.class.getData(java.lang.String,java.time.LocalDate,java.time.LocalDate);
Fallback method: public java.util.List package.class.getDataFallback(java.lang.String,java.time.LocalDate,java.time.LocalDate,java.lang.Throwable);
Hint: Different size of types variables.
Command type literals size = 2: [java.util.List<package.Data>, class package.Data]
Fallback type literals size = 1: [interface java.util.List]
Если я оберну список в объект-оболочку, точно такая же конфигурация будет работать без помех.Что дает?