2017-02-01 32 views
2

Я пытаюсь использовать HYST однако при вызове метода, который делает запись с resttemplate сохранить, дает следующее исключение:Spring-Cloud Hystrix (аварийный метод не был найден)

com.netflix.hystrix .contrib.javanica.exception.FallbackDefinitionException: метод возврата не найден: breaker ([класс com.wnb.mastercard.domain.enroll.EnrollCommand])

Может кто-нибудь мне помочь?

@Component 
public class EnrollRepositoryRest { 

    @Autowired 
    private RestTemplate template; 

    @Value("${beblue-card-enroll.url}") 
    private String url; 

    public Enroll getEnrollByCardId(String cardId) { 

     Enroll[] enroll = template.getForObject(url + "cardEnroll/enroll/" + cardId, Enroll[].class); 

     return enroll[0]; 
    } 

    @HystrixCommand(fallbackMethod = "breaker") 
    public void save(EnrollCommand command) { 
     template.postForObject(url + "/cardEnroll/enroll", command, EnrollCommand.class); 
    } 

    public String breaker() { 
     System.out.println("HYSTRIX EXECUTADO"); 
     return "Hystrix is Ok"; 
    } 
} 

ответ

3

Я думаю, что исключение явно говорит вам о проблеме. Метод:

public String breaker(EnrollCommand command) { 
    System.out.println("HYSTRIX EXECUTADO"); 
    return "Hystrix is Ok"; 
} 

Не существует. (Обратите внимание на аргумент в сигнатуре)

Когда вы определяете метод возврата с этой аннотацией, метод возврата должен соответствовать тем же параметрам метода, в котором вы определяете команду Hystrix.

+0

он работал, метод автоматического выключателя и метод возврата должны иметь одинаковый параметр –

 Смежные вопросы

  • Нет связанных вопросов^_^