This commit is contained in:
@@ -4,6 +4,8 @@ import java.io.BufferedReader;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStream;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.InetAddress;
|
||||
import java.net.NetworkInterface;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.Charset;
|
||||
import java.security.SecureRandom;
|
||||
@@ -119,6 +121,8 @@ public class UmsService {
|
||||
}
|
||||
|
||||
responseData = sb.toString();
|
||||
|
||||
log.debug("UMS responseData:" + responseData);
|
||||
} finally {
|
||||
// http 요청 및 응답 완료 후 BufferedReader를 닫는다
|
||||
if (br != null) {
|
||||
@@ -132,6 +136,44 @@ public class UmsService {
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 표준 헤더의 최초전문송신IP(frst_trnm_ipad)용 - 프로퍼티 설정값 대신 현재 서버(WAS)의 실제 IP를 조회한다.
|
||||
* 조회 실패 시에는 기존처럼 djb.ums.was_ip_address 프로퍼티 값으로 대체한다.
|
||||
*/
|
||||
private String getCurrentServerIp() {
|
||||
try {
|
||||
return InetAddress.getLocalHost().getHostAddress();
|
||||
} catch (Exception e) {
|
||||
log.error("getCurrentServerIp error", e);
|
||||
return propertyService.getPropertyValue("Monitoring", "djb.ums.was_ip_address", "");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 표준 헤더의 최초전문송신MAC(frst_trnm_mac)용 - 프로퍼티 설정값 대신 현재 서버(WAS)의 실제 MAC 주소를 조회한다.
|
||||
* 조회 실패(네트워크 인터페이스를 찾지 못하는 경우 포함) 시에는 기존처럼 djb.ums.was_mac_address 프로퍼티 값으로 대체한다.
|
||||
*/
|
||||
private String getCurrentServerMac() {
|
||||
try {
|
||||
NetworkInterface ni = NetworkInterface.getByInetAddress(InetAddress.getLocalHost());
|
||||
byte[] mac = (ni != null) ? ni.getHardwareAddress() : null;
|
||||
if (mac == null) {
|
||||
return propertyService.getPropertyValue("Monitoring", "djb.ums.was_mac_address", "");
|
||||
}
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (int i = 0; i < mac.length; i++) {
|
||||
if (i > 0) {
|
||||
sb.append(":");
|
||||
}
|
||||
sb.append(String.format("%02X", mac[i]));
|
||||
}
|
||||
return sb.toString();
|
||||
} catch (Exception e) {
|
||||
log.error("getCurrentServerMac error", e);
|
||||
return propertyService.getPropertyValue("Monitoring", "djb.ums.was_mac_address", "");
|
||||
}
|
||||
}
|
||||
|
||||
private String makeBodyData(MessageRequest messageRequest) {
|
||||
// 리턴값
|
||||
String rtnVal = "";
|
||||
@@ -147,9 +189,9 @@ public class UmsService {
|
||||
stdHeadVO.setStnd_mesg_ver("R10");
|
||||
stdHeadVO.setOrtr_guid(jsonData[2]);
|
||||
stdHeadVO.setSect_ecrpt_yn("N");
|
||||
stdHeadVO.setFrst_trnm_ipad(propertyService.getPropertyValue("Monitoring", "djb.ums.was_ip_address", ""));
|
||||
stdHeadVO.setFrst_trnm_ipv4_addr(propertyService.getPropertyValue("Monitoring", "djb.ums.was_ip_address", ""));
|
||||
stdHeadVO.setFrst_trnm_mac(propertyService.getPropertyValue("Monitoring", "djb.ums.was_mac_address", ""));
|
||||
stdHeadVO.setFrst_trnm_ipad(getCurrentServerIp());
|
||||
stdHeadVO.setFrst_trnm_ipv4_addr(getCurrentServerIp());
|
||||
stdHeadVO.setFrst_trnm_mac(getCurrentServerMac());
|
||||
stdHeadVO.setFrst_mesg_dman_dt(jsonData[0]);
|
||||
stdHeadVO.setFrst_mesg_dman_time(jsonData[1]);
|
||||
stdHeadVO.setFrst_trnm_sys_dvcd(SYS_DVCD);
|
||||
|
||||
Reference in New Issue
Block a user