: 통계거래 데이터 저장

Task-Url:
This commit is contained in:
pksup
2026-01-09 10:09:06 +09:00
parent 8d21eba5e8
commit 2e8d94b110
3 changed files with 34 additions and 1 deletions
@@ -32,6 +32,7 @@ public class EAIMessage implements EAIMessageKeys, Serializable, Comparable<EAIM
private String sngSysItfTp; // 기동시스템어댑터업무그룹명[TSEAIHE01.GstatSysAdptrBzwkGroupName] - StartingSystemInterfaceType - [Adapter_업무명_IN]
private String lydMsgID; // 레이어메시지ID - vlf
private String rspErrCd; // 응답에러코드 - ResponseErrorCode - [12 BYTE EAI에러코드]
private int statErrorCode = 0; // 통계용 에러코드 (0:정상, 1:업무에러, 2:타임아웃, 3:시스템에러)
private String rspErrMsg; // 응답에러메시지 - ResponseErrorMessage - [ 200 BYTE ]
private long msgRcvTm; // 메시지수신시각 - MessageReceiveTime - RequestProcessor에서 설정한다.
private long msgPssTm; // 메시지처리시각 - MessageProcessTime - LOGGER에서 로깅전 설정한다. Queue로 Push하기전에...
@@ -219,6 +220,14 @@ public class EAIMessage implements EAIMessageKeys, Serializable, Comparable<EAIM
}
}
public int getStatErrorCode() {
return statErrorCode;
}
public void setStatErrorCode(int statErrorCode) {
this.statErrorCode = statErrorCode;
}
public void setRspErr(String rspErrCd, String rspErrMsg) {
this.rspErrCd = rspErrCd;
this.rspErrMsg = rspErrMsg;
@@ -111,6 +111,9 @@ public class EAIServiceMonitor implements Lifecycle {
private MonitorCleaner cleaner;
private Timer cleanerTimer;
@Autowired
private StatisticsMonitor statisticsMonitor;
public static synchronized EAIServiceMonitor getInstance() {
return ApplicationContextProvider.getContext().getBean(EAIServiceMonitor.class);
}
@@ -328,6 +331,9 @@ public class EAIServiceMonitor implements Lifecycle {
}
}
// 통계용 에러코드 설정
msg.setStatErrorCode(iErrorCode);
if (monitors == null)
monitors = createMonitorVO();
@@ -375,6 +381,15 @@ public class EAIServiceMonitor implements Lifecycle {
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (logPssSno == 400) {
statisticsMonitor.recordStatistics(msg);
} else if (logPssSno == 900) {
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
HashMap<String, MonitorVO> bwkVO = bwkClss.get(bwkCls);
if (bwkVO != null) {
@@ -0,0 +1,9 @@
package com.eactive.eai.common.monitor;
import com.eactive.eai.common.message.EAIMessage;
public interface StatisticsMonitor {
public void recordStatistics(EAIMessage requestEaiMessage);
}