Я хочу переместить свою конфигурацию автоматического выключателя из файла application.yml в некоторый файл config java, так как объявление bean-компонента потому, что оно делает файл application.yml большим, смогу ли я удалить конфигурацию из приложения? yml и используйте аннотацию конфигурации для определения конфигурации автоматического выключателя. У меня есть файл конфигурации java со следующим кодом, например:
@Configuration
@Component
public class CircuitBreakConfig {
@Bean
public CircuitBreaker defaultCircuitBreaker() {
CircuitBreakerConfig circuitBreakerConfig = CircuitBreakerConfig.custom()
.failureRateThreshold(50)
.slidingWindowSize(5)
.waitDurationInOpenState(Duration.ofMillis(6000))
.recordExceptions(IOException.class, TimeoutException.class,DataIntegrityViolationException.class)
.build();
// Create a CircuitBreakerRegistry with a custom global configuration
CircuitBreakerRegistry circuitBreakerRegistry =
CircuitBreakerRegistry.of(circuitBreakerConfig);
// Get or create a CircuitBreaker from the CircuitBreakerRegistry
// with the global default configuration
return circuitBreakerRegistry.circuitBreaker("default");
}
}
В моем служебном файле я комментирую метод для автоматического выключателя, например
@CircuitBreaker(name = "default", fallbackMethod = "fallback")
public Employee createEmployeeDefinition(Employee emp) throws Exception{
if(Objects.nonNull(sample)){
return EmployeeRepository.save(sample);
}
return null;
}
public Employee fallback(Employee emp,Exception ex) throws Exception{
System.out.println(ex.getClass()+" "+ex.getMessage() );
return null;
}
В этой текущей реализации я не могу чтобы достичь открытого состояния в моем автоматическом выключателе. Пожалуйста, предоставьте мне несколько предложений