유량제어 오류 메시지 개선 -> API 호출 한도 초과 [테스트 그룹1: 10req/MIN]
This commit is contained in:
@@ -1022,9 +1022,11 @@ public class RequestProcessor extends RequestProcessorSupport {
|
||||
}
|
||||
// 그룹 우선, 없으면 인터페이스 유량제어 체크
|
||||
String groupId = bucket.getGroupIdByInterface(vo.getEaiSvcCd());
|
||||
String groupBlockedType = null;
|
||||
if (groupId != null) {
|
||||
// 그룹에 속한 인터페이스 → 그룹 유량제어 체크
|
||||
if (!bucket.isGroupPass(groupId)) {
|
||||
groupBlockedType = bucket.isGroupPass(groupId);
|
||||
if (groupBlockedType != null) {
|
||||
blockedType += "G";
|
||||
}
|
||||
} else {
|
||||
@@ -1044,11 +1046,26 @@ public class RequestProcessor extends RequestProcessorSupport {
|
||||
} else {
|
||||
inflowTargetVO = bucket.getInterfaceInflowThreashold(vo.getEaiSvcCd());
|
||||
}
|
||||
String inflowErrorMsg;
|
||||
// 에러처리
|
||||
vo.setRspErrorCode(EAIMessageKeys.EAI_INFLOW_BLOCKED_CODE);
|
||||
String inflowInfo = (inflowGroupVO != null) ? inflowGroupVO.toString() :
|
||||
(inflowTargetVO != null ? inflowTargetVO.toString() : "N/A");
|
||||
vo.setRspErrorMsg(ExceptionUtil.make(vo.getRspErrorCode(), vo.getEaiSvcCd() ) + ", " + inflowInfo);
|
||||
if (inflowGroupVO != null) {
|
||||
if ("PER_SECOND".equals(groupBlockedType)) {
|
||||
inflowErrorMsg = String.format("API 호출 한도 초과 [%s: %dreq/sec]",
|
||||
inflowGroupVO.getGroupName(),
|
||||
inflowGroupVO.getThresholdPerSecond());
|
||||
} else {
|
||||
inflowErrorMsg = String.format("API 호출 한도 초과 [%s: %dreq/%s]",
|
||||
inflowGroupVO.getGroupName(),
|
||||
inflowGroupVO.getThreshold(),
|
||||
inflowGroupVO.getThresholdTimeUnit());
|
||||
}
|
||||
} else if (inflowTargetVO != null) {
|
||||
inflowErrorMsg = String.format("API 호출 한도 초과 [%s]", inflowTargetVO.getName());
|
||||
} else {
|
||||
inflowErrorMsg = "API 호출 한도 초과";
|
||||
}
|
||||
vo.setRspErrorMsg(inflowErrorMsg);
|
||||
|
||||
// eaiMsg.setRspErrCd(vo.getRspErrorCode());
|
||||
// eaiMsg.setRspErrMsg(vo.getRspErrorMsg());
|
||||
@@ -1082,7 +1099,7 @@ public class RequestProcessor extends RequestProcessorSupport {
|
||||
sb.append("EAISevrInstncName [" + eaiServerManager.getLocalServerName() + "]\n");
|
||||
sb.append("EAISvcName [" + eaiMsg.getEAISvcCd() + "]\n");
|
||||
sb.append("ADPTRBZWKGROUPNAME[" + vo.getAdapterGroupName() + "]\n");
|
||||
sb.append("InflowInfo [" + inflowInfo + "]\n");
|
||||
sb.append("InflowInfo [" + inflowErrorMsg + "]\n");
|
||||
if (groupId != null) {
|
||||
sb.append("InflowGroupId [" + groupId + "]\n");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user