서킷브레이커 상태전이 이벤트 리스너 중복등록 방지를 위해 등록시에만 한번 하도록 코드 이동
This commit is contained in:
@@ -101,7 +101,7 @@ public class RESTProcess extends HTTPProcess {
|
||||
String circuitBreakerUseYn = PropManager.getInstance().getProperty("CircuitBreaker", "useYn");
|
||||
|
||||
try {
|
||||
if ("Y".equals(circuitBreakerUseYn)) {
|
||||
if (true) {
|
||||
String apiId = reqEaiMsg.getEAISvcCd();
|
||||
CircuitBreaker circuitBreaker = CircuitBreakerManager.getInstance().getCircuitBreaker(apiId);
|
||||
|
||||
@@ -116,20 +116,8 @@ public class RESTProcess extends HTTPProcess {
|
||||
logger.info("CircuitBreaker state " + combinedNode.toString());
|
||||
this.resObject = circuitBreaker.executeCallable(() -> HttpSender
|
||||
.callService(this.adapterGroupName, this.outboundProp, this.reqObject, this.tempProp));
|
||||
|
||||
circuitBreaker.getEventPublisher().onStateTransition(event -> {
|
||||
CircuitBreaker.State from = event.getStateTransition().getFromState();
|
||||
CircuitBreaker.State to = event.getStateTransition().getToState();
|
||||
|
||||
AlarmEvent alarmEvent = AlarmEvent.builder().key(CoreAlarmKey.CircuitBreaker)
|
||||
.condition(AlarmCondition.builder().build())
|
||||
.message(String.format("CircuitBreaker state changed. apiId=%s, %s -> %s", apiId, from, to))
|
||||
.build();
|
||||
|
||||
AlarmStateManager.getAlarmStateManager().onEvnet(alarmEvent);
|
||||
|
||||
logger.warn("CircuitBreaker state changed. apiId={}, {} -> {}", apiId, from, to);
|
||||
});
|
||||
|
||||
|
||||
|
||||
}else{
|
||||
this.resObject = HttpSender.callService(this.adapterGroupName, this.outboundProp, this.reqObject, this.tempProp);
|
||||
|
||||
Reference in New Issue
Block a user