Hystrix видит List как несовместимый тип возвращаемого значения в - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть следующий запасной вариант 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]

Если я оберну список в объект-оболочку, точно такая же конфигурация будет работать без помех.Что дает?

...