Hystrix: не может отключить автоматический выключатель - PullRequest
0 голосов
/ 25 апреля 2018

Предполагая, что я использую конфигурации Hystrix по умолчанию:

CircuitBreakerRequestVolumeThreshold=20    
CircuitBreakerErrorThresholdPercentage=50    
MetricsRollingStatisticalWindowInMilliseconds=10000ms 

Я предполагаю, что это означает, что в течение 10-секундного окна цепь разорвется, если в течение 20 последовательных запросов будет обработано 10 исключений.
Iесть класс MyCommand, который расширяет HystrixCommand.Я создаю 20 объектов из этого и вызываю на каждом из них последовательно.Но я, кажется, не отключаю схему, потому что она никогда не входит в мой метод getFallback.Я ожидал, что 20-й исполнитель отключит цепь.Куда я иду не так?

int i=0;    
    public MyObject run() throws Exception {    
        i++;    
        try {    
            throw new Exception("Handled exception "+i);    
        } catch (Exception e) {    
            System.out.print("Catch "+i);    
        }    
        return null;    
    }

1 Ответ

0 голосов
/ 25 апреля 2018

Если вы обработаете исключения в команде, автоматический выключатель не сработает.В вашем методе run не ловите исключение.

...