From a05870fd1bd3bf82b3f89dca6999778c806ed6d4 Mon Sep 17 00:00:00 2001 From: eastargh Date: Fri, 4 Sep 2026 11:30:45 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9C=A0=EB=9F=89=EC=A0=9C=EC=96=B4=ED=86=A0?= =?UTF-8?q?=ED=81=B0=EA=B0=90=EC=8B=9C=20=EC=8A=A4=EC=BC=80=EC=A5=B4?= =?UTF-8?q?=EB=9F=AC=20=EB=A9=94=EC=84=B8=EC=A7=80=201=EA=B1=B4=EB=A7=8C?= =?UTF-8?q?=20=EB=B0=9C=EC=86=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../djb/inflow/InflowTokenInsufficient.java | 7 ---- .../ext/djb/inflow/InflowTokenRepository.java | 15 +++----- .../ext/djb/inflow/InflowTokenService.java | 34 ++++++++++--------- 3 files changed, 23 insertions(+), 33 deletions(-) delete mode 100644 src/main/java/com/eactive/eai/rms/data/entity/onl/djb/inflow/InflowTokenInsufficient.java diff --git a/src/main/java/com/eactive/eai/rms/data/entity/onl/djb/inflow/InflowTokenInsufficient.java b/src/main/java/com/eactive/eai/rms/data/entity/onl/djb/inflow/InflowTokenInsufficient.java deleted file mode 100644 index 64108f8..0000000 --- a/src/main/java/com/eactive/eai/rms/data/entity/onl/djb/inflow/InflowTokenInsufficient.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.eactive.eai.rms.data.entity.onl.djb.inflow; - -public interface InflowTokenInsufficient { - String getEaisvcname(); - String getEaisvcdesc(); - Long getCnt(); -} \ No newline at end of file diff --git a/src/main/java/com/eactive/eai/rms/ext/djb/inflow/InflowTokenRepository.java b/src/main/java/com/eactive/eai/rms/ext/djb/inflow/InflowTokenRepository.java index d98c99c..3b76428 100644 --- a/src/main/java/com/eactive/eai/rms/ext/djb/inflow/InflowTokenRepository.java +++ b/src/main/java/com/eactive/eai/rms/ext/djb/inflow/InflowTokenRepository.java @@ -1,21 +1,16 @@ package com.eactive.eai.rms.ext.djb.inflow; -import java.util.List; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import com.eactive.eai.data.jpa.BaseRepository; -import com.eactive.eai.rms.data.entity.onl.djb.inflow.InflowTokenInsufficient; import com.eactive.eai.rms.data.entity.onl.djb.inflow.InflowTokenInsufficientLog; import com.eactive.eai.rms.data.entity.onl.djb.inflow.InflowTokenInsufficientLogId; public interface InflowTokenRepository extends BaseRepository { @Query(nativeQuery = true, value = - " SELECT EAISVCNAME" + - " , (SELECT EAISVCDESC FROM TSEAIHE01 WHERE A.EAISVCNAME = EAISVCNAME) AS EAISVCDESC" + - " , COUNT(*) AS CNT" + - " FROM TSEAIFR11 A" + - " WHERE MSGDPSTYMS >= TO_CHAR(SYSTIMESTAMP - NUMTODSINTERVAL(:rangeMinute, 'MINUTE'), 'YYYYMMDDHH24MISSFF3')" + - " GROUP BY EAISVCNAME") - List countTokenInsufficient(@Param("rangeMinute") long rangeMinute); -} \ No newline at end of file + " SELECT COUNT(*)" + + " FROM TSEAIFR11" + + " WHERE MSGDPSTYMS >= TO_CHAR(SYSTIMESTAMP - NUMTODSINTERVAL(:rangeMinute, 'MINUTE'), 'YYYYMMDDHH24MISSFF3')") + long countTokenInsufficient(@Param("rangeMinute") long rangeMinute); +} diff --git a/src/main/java/com/eactive/eai/rms/ext/djb/inflow/InflowTokenService.java b/src/main/java/com/eactive/eai/rms/ext/djb/inflow/InflowTokenService.java index 1f945cd..2297511 100644 --- a/src/main/java/com/eactive/eai/rms/ext/djb/inflow/InflowTokenService.java +++ b/src/main/java/com/eactive/eai/rms/ext/djb/inflow/InflowTokenService.java @@ -1,7 +1,6 @@ package com.eactive.eai.rms.ext.djb.inflow; import java.util.HashMap; -import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -11,7 +10,6 @@ import org.springframework.transaction.annotation.Transactional; import com.eactive.apim.portal.template.entity.MessageCode; import com.eactive.eai.rms.common.context.MonitoringContext; -import com.eactive.eai.rms.data.entity.onl.djb.inflow.InflowTokenInsufficient; import com.eactive.eai.rms.ext.djb.ums.UmsManager; @@ -23,25 +21,29 @@ public class InflowTokenService { @Autowired private InflowTokenRepository inflowTokenRepository; - + @Autowired private MonitoringContext monitoringContext; - + @Autowired - private UmsManager ums; + private UmsManager ums; public void checkRecentFails(long rangeMinute) { - if (monitoringContext.getBooleanProperty(MonitoringContext.DJB_UMS_MESSENGER_APIMONITOR_ENABLED, true)) { - List rows = inflowTokenRepository.countTokenInsufficient(rangeMinute); - - for (InflowTokenInsufficient info : rows) { - log.debug("유량제어 토큰 획득 실패: {}-{} 최근 {}분 동안 {}건", info.getEaisvcname(), info.getEaisvcdesc(), rangeMinute, info.getCnt()); - String message = "유량제어 토큰 획득 실패가 발생하였습니다 \n" + info.getEaisvcname(); - - HashMap params = new HashMap(); - params.put("message", message); - ums.sendMessenger("api-monitor", MessageCode.INFLOW_TOKEN_FAILED, params); - } + if (!monitoringContext.getBooleanProperty(MonitoringContext.DJB_UMS_MESSENGER_APIMONITOR_ENABLED, true)) { + return; } + + long failCount = inflowTokenRepository.countTokenInsufficient(rangeMinute); + if (failCount <= 0) { + return; + } + + log.debug("유량제어 토큰 획득 실패: 최근 {}분 동안 {}건", rangeMinute, failCount); + + String message = "유량제어 토큰 획득 실패가 발생하였습니다\n최근 " + rangeMinute + "분 동안 " + failCount + "건"; + + HashMap params = new HashMap(); + params.put("message", message); + ums.sendMessenger("api-monitor", MessageCode.INFLOW_TOKEN_FAILED, params); } }