master
L_DelOff 2024-06-17 21:39:37 +03:00
parent cca8187441
commit 08410e2b80
3 changed files with 3 additions and 6 deletions

View File

@ -8,20 +8,16 @@ import org.springframework.context.annotation.Configuration;
@Configuration
public class CircuitBreakerImpl {
private final CircuitBreaker circuitBreaker;
private final BindingsEndpoint bindingsEndpoint;
protected CircuitBreakerImpl(BindingsEndpoint bindingsEndpoint,
CircuitBreakerConfig circuitBreakerConfig) {
this.bindingsEndpoint = bindingsEndpoint;
this.circuitBreaker = circuitBreakerConfig.circuitBreaker("consumerCircuitBreaker");
CircuitBreaker circuitBreaker = circuitBreakerConfig.circuitBreaker("consumerCircuitBreaker");
circuitBreaker.getEventPublisher().onStateTransition(this::onStateChangeEvent);
}
private void onStateChangeEvent(CircuitBreakerOnStateTransitionEvent event) {
System.out.println("WARNING");
switch (event.getStateTransition().getToState()) {
case OPEN:
System.out.println("consumerAutoTestCircuitBreaker1 open");

View File

@ -36,7 +36,6 @@ public class KafkaConsumerConfig {
} catch (Exception e) {
System.out.println(e.getClass());
}
};
}

View File

@ -15,6 +15,7 @@ public class Controller {
private final KafkaProducerConfig kafkaProducerConfig;
private final BindingsEndpoint bindingsEndpoint;
// Ручная отправка сообщений
@GetMapping(value = "/test1")
public String test1() {
kafkaProducerConfig.sendMessage1(new Model(++i));
@ -27,6 +28,7 @@ public class Controller {
return "test OK, i = " + i;
}
// Переключатели состояний consumerAutoTestCircuitBreaker1-in-0
@GetMapping(value = "/test3")
public String test3() {
bindingsEndpoint.changeState("consumerAutoTestCircuitBreaker1-in-0", BindingsLifecycleController.State.STOPPED);