Переопределить бин HystrixCommandAspect в spring-cloud-netflix-hystrix - PullRequest
0 голосов
/ 30 октября 2018

Компонент HystrixCommandAspect объявлен в классе HystrixCircuitBreakerConfiguration, но я хотел бы использовать мою собственную реализацию HystrixCommandAspect и добавить другой компонент.

Применение:

@SpringBootApplication
@EnableAspectJAutoProxy
@EnableCircuitBreaker
@Import(HystrixConfiguration.class)
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

Конфигурация:

@Configuration
public class HystrixConfiguration {
    @Bean
    @Primary
    public HystrixCommandAspect hystrixCommandAspect(){
        return new com.hystrix.HystrixCommandAspect();
    }
}

Пользовательский HystrixCommandAspect:

package com.hystrix;

@Aspect
public class HystrixCommandAspect extends com.netflix.hystrix.contrib.javanica.aop.aspectj.HystrixCommandAspect {
...
}

Однако, когда я использую аннотацию @EnableCircuitBreaker, она использует HystrixCircuitBreakerConfiguration и даже не загружает мое собственное определение @Bean.

1 Ответ

0 голосов
/ 08 ноября 2018

Я обновил Spring до последней версии, и это устранило проблему. Я также заметил в журналах, что там указано, что он переопределяет компонент, предоставленный в HystrixCircuitBreakerConfiguration.

...