|
|
|
|
@ -4,6 +4,8 @@ import java.io.File;
|
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
|
|
|
|
|
import org.egovframe.rte.fdl.string.EgovStringUtil;
|
|
|
|
|
|
|
|
|
|
import cokr.xit.TextFileMaker;
|
|
|
|
|
|
|
|
|
|
public abstract class Nuri2ServiceBean {
|
|
|
|
|
@ -41,14 +43,17 @@ public abstract class Nuri2ServiceBean {
|
|
|
|
|
public final String[] customCols = {
|
|
|
|
|
"INPUT_DT varchar(14)","RES_DT varchar(14)",
|
|
|
|
|
"REQ_SYS varchar(2)", "MSG_PRPS varchar(2)", "MSG_DTL_PRPS varchar(100)",
|
|
|
|
|
"SGG_CD varchar(5)", "TASK_SE_CD varchar(3)"
|
|
|
|
|
"SGG_CD varchar(5)", "TASK_SE_CD varchar(3)", "DMND_IP varchar(50)"
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public String makeConfFile(HttpServletRequest req) {
|
|
|
|
|
|
|
|
|
|
String env = req.getParameter("env");
|
|
|
|
|
String ibju = req.getParameter("ibju");//국가정보자원관리원 내부망 입주 여부
|
|
|
|
|
String ibju = EgovStringUtil.null2void(req.getParameter("ibju"));//국가정보자원관리원 내부망 입주 여부
|
|
|
|
|
if(ibju.equals("")) {
|
|
|
|
|
ibju = "N";
|
|
|
|
|
}
|
|
|
|
|
String sgg = req.getParameter("sgg");
|
|
|
|
|
boolean isTest = false;
|
|
|
|
|
if("test".equals(env)) {
|
|
|
|
|
@ -58,21 +63,22 @@ public abstract class Nuri2ServiceBean {
|
|
|
|
|
String dbName = "";
|
|
|
|
|
String dbIp = "";
|
|
|
|
|
String dbPort = "";
|
|
|
|
|
|
|
|
|
|
dbName = req.getParameter("dbName");
|
|
|
|
|
dbIp = req.getParameter("dbIp");
|
|
|
|
|
dbPort = req.getParameter("dbPort");
|
|
|
|
|
String dbService = req.getParameter("dbService");
|
|
|
|
|
String userSchema = req.getParameter("userSchema");
|
|
|
|
|
String dbUserId = req.getParameter("dbUserId");
|
|
|
|
|
String dbPassword = req.getParameter("dbPassword");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String xms_ip = req.getParameter("xms_ip");
|
|
|
|
|
String alt_ip = req.getParameter("alt_ip");
|
|
|
|
|
String rcs_ip = req.getParameter("rcs_ip");
|
|
|
|
|
|
|
|
|
|
String gwanriId = "";
|
|
|
|
|
String dbService = "";
|
|
|
|
|
String userSchema = "";
|
|
|
|
|
String dbUserId = "";
|
|
|
|
|
String dbPassword = "";
|
|
|
|
|
|
|
|
|
|
dbName = EgovStringUtil.null2void(req.getParameter("dbName"));
|
|
|
|
|
dbIp = EgovStringUtil.null2void(req.getParameter("dbIp"));
|
|
|
|
|
dbPort = EgovStringUtil.null2void(req.getParameter("dbPort"));
|
|
|
|
|
dbService = EgovStringUtil.null2void(req.getParameter("dbService"));
|
|
|
|
|
userSchema = EgovStringUtil.null2void(req.getParameter("userSchema"));
|
|
|
|
|
dbUserId = EgovStringUtil.null2void(req.getParameter("dbUserId"));
|
|
|
|
|
dbPassword = EgovStringUtil.null2void(req.getParameter("dbPassword"));
|
|
|
|
|
|
|
|
|
|
String xms_ip = "";
|
|
|
|
|
String alt_ip = "";
|
|
|
|
|
String rcs_ip = "";
|
|
|
|
|
|
|
|
|
|
String X_yeondongId = "";
|
|
|
|
|
String A_yeondongId = "";
|
|
|
|
|
@ -84,69 +90,83 @@ public abstract class Nuri2ServiceBean {
|
|
|
|
|
String alt_port = "";
|
|
|
|
|
String rcs_port = "";
|
|
|
|
|
|
|
|
|
|
if(isTest) {
|
|
|
|
|
xms_port = XMS_PORT_TEST;
|
|
|
|
|
alt_port = ALT_PORT_TEST;
|
|
|
|
|
rcs_port = RCS_PORT_TEST;
|
|
|
|
|
} else {
|
|
|
|
|
xms_port = XMS_PORT_PROD;
|
|
|
|
|
alt_port = ALT_PORT_PROD;
|
|
|
|
|
rcs_port = RCS_PORT_PROD;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if("50000".equals(sgg)) {
|
|
|
|
|
if(isTest) {
|
|
|
|
|
ibju = "N";
|
|
|
|
|
|
|
|
|
|
X_yeondongId = "jejudo02";
|
|
|
|
|
A_yeondongId = "jejudo02";
|
|
|
|
|
R_yeondongId = "jejudo02";
|
|
|
|
|
yeondongPassword = "jeju12!@";
|
|
|
|
|
|
|
|
|
|
dbName = "MARIADB";
|
|
|
|
|
dbIp = "211.119.124.9";
|
|
|
|
|
dbPort = "4407";
|
|
|
|
|
dbUserId = "rentcar";
|
|
|
|
|
dbPassword = "xit1!";
|
|
|
|
|
dbService = "efccsscs";
|
|
|
|
|
userSchema = "";
|
|
|
|
|
} else {
|
|
|
|
|
dbName = "MARIADB";
|
|
|
|
|
ibju = "N";
|
|
|
|
|
|
|
|
|
|
gwanriId = "jejudo01";
|
|
|
|
|
//TODO: 운영에서는 연동아이디 각각
|
|
|
|
|
//
|
|
|
|
|
X_yeondongId = "jejudo03";
|
|
|
|
|
X_yeondongId = "???";
|
|
|
|
|
A_yeondongId = "???";
|
|
|
|
|
R_yeondongId = "???";
|
|
|
|
|
yeondongPassword = "jeju12!@";
|
|
|
|
|
|
|
|
|
|
dbName = "MARIADB";
|
|
|
|
|
dbIp = "172.25.102.124";
|
|
|
|
|
dbPort = "53306";
|
|
|
|
|
dbUserId = "rentcar";
|
|
|
|
|
dbPassword = "xit1!";
|
|
|
|
|
dbService = "efccsscs";
|
|
|
|
|
userSchema = "";
|
|
|
|
|
}
|
|
|
|
|
yeondongPassword = "jeju12!@";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(isTest) {
|
|
|
|
|
if("Y".equals(ibju)) {
|
|
|
|
|
xms_ip = INTERNAL_IP_START+INTERNAL_IP___END_TEST;
|
|
|
|
|
alt_ip = INTERNAL_IP_START+INTERNAL_IP___END_TEST;
|
|
|
|
|
rcs_ip = INTERNAL_IP_START+INTERNAL_IP___END_TEST;
|
|
|
|
|
} else {
|
|
|
|
|
xms_ip = OUTERNAL_IP_START+OUTERNAL_IP___END_TEST;
|
|
|
|
|
alt_ip = OUTERNAL_IP_START+OUTERNAL_IP___END_TEST;
|
|
|
|
|
rcs_ip = OUTERNAL_IP_START+OUTERNAL_IP___END_TEST;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
if("Y".equals(ibju)) {
|
|
|
|
|
xms_ip = INTERNAL_IP_START+INTERNAL_IP___END_PROD_RCS_X;
|
|
|
|
|
alt_ip = INTERNAL_IP_START+INTERNAL_IP___END_PROD_RCS_X;
|
|
|
|
|
rcs_ip = INTERNAL_IP_START+INTERNAL_IP___END_PROD_RCS_O;
|
|
|
|
|
} else {
|
|
|
|
|
xms_ip = OUTERNAL_IP_START+OUTERNAL_IP___END_PROD_RCS_X;
|
|
|
|
|
alt_ip = OUTERNAL_IP_START+OUTERNAL_IP___END_PROD_RCS_X;
|
|
|
|
|
rcs_ip = OUTERNAL_IP_START+OUTERNAL_IP___END_PROD_RCS_O;
|
|
|
|
|
}
|
|
|
|
|
if(X_yeondongId.equals("")) {
|
|
|
|
|
X_yeondongId = "입력필요";
|
|
|
|
|
}
|
|
|
|
|
if(A_yeondongId.equals("")) {
|
|
|
|
|
A_yeondongId = "입력필요";
|
|
|
|
|
}
|
|
|
|
|
if(R_yeondongId.equals("")) {
|
|
|
|
|
R_yeondongId = "입력필요";
|
|
|
|
|
}
|
|
|
|
|
if(yeondongPassword.equals("")) {
|
|
|
|
|
yeondongPassword = "입력필요";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(isTest) {
|
|
|
|
|
if(isTest && EgovStringUtil.isEmpty(dbName)) {
|
|
|
|
|
dbName = "MARIADB";
|
|
|
|
|
}
|
|
|
|
|
if(isTest && EgovStringUtil.isEmpty(dbIp)) {
|
|
|
|
|
dbIp = "211.119.124.9";
|
|
|
|
|
}
|
|
|
|
|
if(isTest && (dbName.equals("MARIADB")||dbName.equals("MYSQL"))) {
|
|
|
|
|
if(isTest && EgovStringUtil.isEmpty(dbPort) && (dbName.equals("MARIADB")||dbName.equals("MYSQL"))) {
|
|
|
|
|
dbPort = "4407";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(EgovStringUtil.isEmpty(dbName)) {
|
|
|
|
|
dbName = "입력필요";
|
|
|
|
|
}
|
|
|
|
|
if(EgovStringUtil.isEmpty(dbIp)) {
|
|
|
|
|
dbIp = "입력필요";
|
|
|
|
|
}
|
|
|
|
|
if(EgovStringUtil.isEmpty(dbPort)) {
|
|
|
|
|
dbPort = "입력필요";
|
|
|
|
|
}
|
|
|
|
|
if(EgovStringUtil.isEmpty(dbService)) {
|
|
|
|
|
dbService = "입력필요";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(dbName.equals("PostgreSQL") && userSchema.equals("")) {
|
|
|
|
|
userSchema = "입력필요";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
String dbDriver = "";
|
|
|
|
|
String dbUrl = "";
|
|
|
|
|
switch(dbName) {
|
|
|
|
|
@ -185,77 +205,135 @@ public abstract class Nuri2ServiceBean {
|
|
|
|
|
dbDriver = "Altibase.jdbc.driver.AltibaseDriver";
|
|
|
|
|
dbUrl = "jdbc:Altibase://"+dbIp+":"+dbPort+"/"+dbService;
|
|
|
|
|
break;
|
|
|
|
|
default :
|
|
|
|
|
dbDriver = "입력필요";
|
|
|
|
|
dbUrl = "입력필요";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(isTest) {
|
|
|
|
|
if("Y".equals(ibju)) {
|
|
|
|
|
xms_ip = INTERNAL_IP_START+INTERNAL_IP___END_TEST;
|
|
|
|
|
alt_ip = INTERNAL_IP_START+INTERNAL_IP___END_TEST;
|
|
|
|
|
rcs_ip = INTERNAL_IP_START+INTERNAL_IP___END_TEST;
|
|
|
|
|
} else {
|
|
|
|
|
xms_ip = OUTERNAL_IP_START+OUTERNAL_IP___END_TEST;
|
|
|
|
|
alt_ip = OUTERNAL_IP_START+OUTERNAL_IP___END_TEST;
|
|
|
|
|
rcs_ip = OUTERNAL_IP_START+OUTERNAL_IP___END_TEST;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
if("Y".equals(ibju)) {
|
|
|
|
|
xms_ip = INTERNAL_IP_START+INTERNAL_IP___END_PROD_RCS_X;
|
|
|
|
|
alt_ip = INTERNAL_IP_START+INTERNAL_IP___END_PROD_RCS_X;
|
|
|
|
|
rcs_ip = INTERNAL_IP_START+INTERNAL_IP___END_PROD_RCS_O;
|
|
|
|
|
} else {
|
|
|
|
|
xms_ip = OUTERNAL_IP_START+OUTERNAL_IP___END_PROD_RCS_X;
|
|
|
|
|
alt_ip = OUTERNAL_IP_START+OUTERNAL_IP___END_PROD_RCS_X;
|
|
|
|
|
rcs_ip = OUTERNAL_IP_START+OUTERNAL_IP___END_PROD_RCS_O;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(isTest) {
|
|
|
|
|
xms_port = XMS_PORT_TEST;
|
|
|
|
|
alt_port = ALT_PORT_TEST;
|
|
|
|
|
rcs_port = RCS_PORT_TEST;
|
|
|
|
|
} else {
|
|
|
|
|
xms_port = XMS_PORT_PROD;
|
|
|
|
|
alt_port = ALT_PORT_PROD;
|
|
|
|
|
rcs_port = RCS_PORT_PROD;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TextFileMaker conf = new TextFileMaker();
|
|
|
|
|
//#
|
|
|
|
|
//# XMS/ALT/RCS 테스트배드로 먼저 기능 확인 후 진행 하셔아 합니다.
|
|
|
|
|
//#
|
|
|
|
|
//# Host Info(접속정보)
|
|
|
|
|
//##################################################
|
|
|
|
|
//# * 중요 유의사항
|
|
|
|
|
//##################################################
|
|
|
|
|
//# * [개발서버:테스트]에서는 [XMS/ALT/RCS] 연동계정은 모두 같은 계정으로 설정 가능
|
|
|
|
|
//##################################################
|
|
|
|
|
//# * [개발서버:테스트]는 [XMS/ALT/RCS] 모두 [동일IP:*.235, *.20]를 사용합니다.
|
|
|
|
|
//# * [실서버:운영]은 [XMS/ALT]는 [동일IP:*.235, *.20], [RCS]는 [별도IP:*.246, *.25]를 사용 합니다.
|
|
|
|
|
//# * 연동포트 임의변경 금지! 모바일메시지 서비스에 문의 후 변경 하세요!!!
|
|
|
|
|
//# * 연동포트 임의변경 금지! 모바일메시지 서비스에 문의 후 변경 하세요!!!
|
|
|
|
|
//# * 연동포트 임의변경 금지! 모바일메시지 서비스에 문의 후 변경 하세요!!!
|
|
|
|
|
//# xms_port = 20000 (실운영서버: 10000 , 개발서버 : 20000)
|
|
|
|
|
//# alt_port = 40000 (실운영서버: 15000 , 개발서버 : 40000)
|
|
|
|
|
//# rcs_port = 40000 (실운영서버: 10000 , 개발서버 : 40000)
|
|
|
|
|
//# * 연동포트 임의변경 금지! 모바일메시지 서비스에 문의 후 변경 하세요!!!
|
|
|
|
|
//# * 연동포트 임의변경 금지! 모바일메시지 서비스에 문의 후 변경 하세요!!!
|
|
|
|
|
//# * 연동포트 임의변경 금지! 모바일메시지 서비스에 문의 후 변경 하세요!!!
|
|
|
|
|
//##################################################
|
|
|
|
|
//# * 중요 유의사항
|
|
|
|
|
//##################################################
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("#");
|
|
|
|
|
conf.addLine("# Nuri2 Config File");
|
|
|
|
|
conf.addLine("#");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("#");
|
|
|
|
|
conf.addLine("# XMS/ALT/RCS 테스트배드로 먼저 기능 확인 후 진행 하셔아 합니다");
|
|
|
|
|
conf.addLine("#");
|
|
|
|
|
conf.addLine("# Host Info(접속정보)");
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##################################################");
|
|
|
|
|
conf.addLine("# 중요 유의사항");
|
|
|
|
|
conf.addLine("##################################################");
|
|
|
|
|
conf.addLine("# * [개발서버:테스트]에서는 [XMS/ALT/RCS] 연동계정은 모두 같은 계정으로 설정 가능");
|
|
|
|
|
conf.addLine("##################################################");
|
|
|
|
|
conf.addLine("# * [개발서버:테스트]는 [XMS/ALT/RCS] 모두 [동일IP:*.235, *.20]를 사용합니다.");
|
|
|
|
|
conf.addLine("# * [실서버:운영]은 [XMS/ALT]는 [동일IP:*.235, *.20], [RCS]는 [별도IP:*.246, *.25]를 사용 합니다.");
|
|
|
|
|
for(int i=0;i<5;i++) {
|
|
|
|
|
conf.addLine("# * 연동포트 임의변경 금지! 모바일메시지 서비스에 문의 후 변경 하세요!!!");
|
|
|
|
|
}
|
|
|
|
|
conf.addLine("# xms_port = 20000 (실운영서버: 10000 , 개발서버 : 20000)");
|
|
|
|
|
conf.addLine("# alt_port = 40000 (실운영서버: 15000 , 개발서버 : 40000)");
|
|
|
|
|
conf.addLine("# rcs_port = 40000 (실운영서버: 10000 , 개발서버 : 40000)");
|
|
|
|
|
for(int i=0;i<5;i++) {
|
|
|
|
|
conf.addLine("# * 연동포트 임의변경 금지! 모바일메시지 서비스에 문의 후 변경 하세요!!!");
|
|
|
|
|
}
|
|
|
|
|
conf.addLine("# ------------------------------------------------------------------------------------");
|
|
|
|
|
for(int i=0;i<4;i++) {
|
|
|
|
|
conf.addLine("# * 기타 환경설정 변경도 문의 후 변경! 모바일메시지 서비스에 문의 후 변경 하세요!!!");
|
|
|
|
|
}
|
|
|
|
|
conf.addLine("# ------------------------------------------------------------------------------------");
|
|
|
|
|
conf.addLine("##################################################");
|
|
|
|
|
conf.addLine("# * 중요 유의사항");
|
|
|
|
|
conf.addLine("##################################################");
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("#######################");
|
|
|
|
|
conf.addLine("## [XMS]문자(SMS/MMS) 서버 설정");
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
conf.addLine("#######################");
|
|
|
|
|
conf.addLine("xms_ip = "+xms_ip);
|
|
|
|
|
conf.addLine("xms_port = "+xms_port);
|
|
|
|
|
conf.addLine("xms_id = "+X_yeondongId);
|
|
|
|
|
conf.addLine("xms_pwd = "+yeondongPassword);
|
|
|
|
|
conf.addLine("## 주의 : 대량발송이 아니면 무조건 OFF, 옵션을 ON으로 하더라도 국가정보관리원 확인 필요");
|
|
|
|
|
conf.addLine("xms_link = OFF");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("#######################");
|
|
|
|
|
conf.addLine("## [ALT]앱메시지(KAKAO) 서버 설정");
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
conf.addLine("#######################");
|
|
|
|
|
conf.addLine("alt_ip = "+alt_ip);
|
|
|
|
|
conf.addLine("alt_port = "+alt_port);
|
|
|
|
|
conf.addLine("alt_id = "+A_yeondongId);
|
|
|
|
|
conf.addLine("alt_pwd = "+yeondongPassword);
|
|
|
|
|
conf.addLine("## 주의 : 대량발송이 아니면 무조건 OFF, 옵션을 ON으로 하더라도 국가정보관리원 확인 필요");
|
|
|
|
|
conf.addLine("alt_link = OFF");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("#######################");
|
|
|
|
|
conf.addLine("## [RCS]인증(안심)문자 서버 설정");
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
conf.addLine("#######################");
|
|
|
|
|
conf.addLine("rcs_ip = "+rcs_ip);
|
|
|
|
|
conf.addLine("rcs_port = "+rcs_port);
|
|
|
|
|
conf.addLine("rcs_id = "+R_yeondongId);
|
|
|
|
|
conf.addLine("rcs_pwd = "+yeondongPassword);
|
|
|
|
|
conf.addLine("## 주의 : 대량발송이 아니면 무조건 OFF, 옵션을 ON으로 하더라도 국가정보관리원 확인 필요");
|
|
|
|
|
conf.addLine("rcs_link = OFF");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//모바일메시지서비스 Agent 각 Line 별(xms, alt, rcs) 작동 여부 (ON, OFF | 기본 : ON)
|
|
|
|
|
//송신서비스,수신서비스 사용 여부와 관계없이 통신 정보를 주고 받아야하므로 모두 ON
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 모바일메시지서비스 Agent 각 Line 별(xms, alt, rcs) 작동 여부 (ON, OFF | 기본 : ON)");
|
|
|
|
|
conf.addLine("# xms_sender : SMS / MMS Sender");
|
|
|
|
|
conf.addLine("# xms_receiver : SMS / MMS receiver");
|
|
|
|
|
conf.addLine("# alt_sender : KAKAO 알림톡 Sender");
|
|
|
|
|
conf.addLine("# alt_receiver : KAKAO 알림톡 receiver");
|
|
|
|
|
conf.addLine("# rcs_sender : RCS Sender");
|
|
|
|
|
conf.addLine("# rcs_receiver : RCS receiver");
|
|
|
|
|
conf.addLine("## 주의 : receiver는 메시지수신서비스와는 관계없이 게이트웨이와 통신하기 위한 옵션입니다. Sender도 송신서비스와는 관계없이 게이트웨이와 통신하기 위한 옵션입니다.");
|
|
|
|
|
conf.addLine("#");
|
|
|
|
|
conf.addLine("xms_sender = ON");
|
|
|
|
|
conf.addLine("xms_receiver = ON");
|
|
|
|
|
conf.addLine("alt_sender = ON");
|
|
|
|
|
conf.addLine("alt_receiver = ON");
|
|
|
|
|
conf.addLine("rcs_sender = ON");
|
|
|
|
|
conf.addLine("rcs_receiver = ON");
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 데이터베이스 유형(db_name)");
|
|
|
|
|
conf.addLine("# Oracle, MSSQL, MySQL, MariaDB, PostgreSQL, CUBRID, Tibero, Altibase");
|
|
|
|
|
conf.addLine("#");
|
|
|
|
|
conf.addLine("# Database Driver");
|
|
|
|
|
conf.addLine("#");
|
|
|
|
|
conf.addLine("##########################################################");
|
|
|
|
|
|
|
|
|
|
//DB정보
|
|
|
|
|
//##########################################################
|
|
|
|
|
//# 데이터베이스 정보
|
|
|
|
|
//##########################################################
|
|
|
|
|
String db_name_line = "db_name = "+dbName;
|
|
|
|
|
conf.addLine(db_name_line);
|
|
|
|
|
String db_driver_line = "db_driver = "+dbDriver;
|
|
|
|
|
@ -263,270 +341,324 @@ public abstract class Nuri2ServiceBean {
|
|
|
|
|
String db_url_line = "db_url = "+dbUrl;
|
|
|
|
|
conf.addLine(db_url_line);
|
|
|
|
|
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 데이터베이스의 계정 설정 (테이블 생성 권한 필요함)");
|
|
|
|
|
conf.addLine("# Oracle, MSSQL, MySQL, MariaDB, PostgreSQL, CUBRID, Tibero, Altibase 공통 사용");
|
|
|
|
|
conf.addLine("#");
|
|
|
|
|
String db_userid_line = "db_userid = "+dbUserId;
|
|
|
|
|
conf.addLine(db_userid_line);
|
|
|
|
|
String db_password_line = "db_password = "+dbPassword;
|
|
|
|
|
conf.addLine(db_password_line);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 로그 패스: 로그파일의 위치를 변경 할 수 있지만 기본 폴더를 권장합니다.
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 로그 패스: 로그파일의 위치를 변경 할 수 있지만 기본 폴더를 권장합니다.");
|
|
|
|
|
conf.addLine("# log file 이 기록될 디렉토리 설정 생략 시 현재 실행 디렉토리");
|
|
|
|
|
conf.addLine("# 예) 윈도우 => C:\\\\app\\\\nuri2\\\\nuri2_log 또는 C:/app/nuri2/nuri2_log 로 해야 디렉토리가 생성됨.");
|
|
|
|
|
conf.addLine("#");
|
|
|
|
|
conf.addLine("log_path =");
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 큐 패스: Que 패스 : Que파일 생성은 기본 폴더를 권장합니다.
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# Que 패스 : Que파일 생성은 기본 폴더를 권장합니다.");
|
|
|
|
|
conf.addLine("# Nuri 내부에서 사용할 Que 저장 디렉토리");
|
|
|
|
|
conf.addLine("# 예) 윈도우 => C:\\\\app\\\\nuri2\\\\nuri2_que 또는 C:/app/nuri2/nuri2_que 로 해야 디렉토리가 생성됨.");
|
|
|
|
|
conf.addLine("#");
|
|
|
|
|
conf.addLine("que_path =");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 로그 파일 삭제 옵션 (단위 : 일 | 기본 : 90)
|
|
|
|
|
//# log_path 에 설정한 폴더에 있는 log 파일을 삭제한다.
|
|
|
|
|
//# 생략 시 90일
|
|
|
|
|
//# 해당 파일을 삭제하지 않을 시 0 로 입력
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 로그 파일 삭제 옵션 (단위 : 일 | 기본 : 90)");
|
|
|
|
|
conf.addLine("# log_path 에 설정한 폴더에 있는 log 파일을 삭제한다.");
|
|
|
|
|
conf.addLine("# 생략 시 90일");
|
|
|
|
|
conf.addLine("# 해당 파일을 삭제하지 않을 시 0 로 입력");
|
|
|
|
|
conf.addLine("# 예) log_file_life_time = 90 (log_path 폴더에 있는 log 파일 중 90일 이후 파일은 삭제함)");
|
|
|
|
|
conf.addLine("# log_file_life_time = 0 (log_path 폴더에 있는 log 파일을 삭제하지 않음)");
|
|
|
|
|
conf.addLine("#");
|
|
|
|
|
conf.addLine("log_file_life_time = 90");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 모바일메시지서비스 Agent 네트워크 통신 암호화 옵션 (AES, OFF | 기본 : AES)
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 모바일메시지서비스 Agent 네트워크 통신 암호화 옵션 (AES, OFF | 기본 : AES)");
|
|
|
|
|
conf.addLine("#----------------------------------------------");
|
|
|
|
|
conf.addLine("# [*][중요]기본 값 설정 권장: 임의 변경 금지, 모바일메시지 운영팀에 문의 후 변경");
|
|
|
|
|
conf.addLine("#----------------------------------------------");
|
|
|
|
|
conf.addLine("nuri_sign = OFF");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 모바일메시지서비스 Agent 각 Line 별(xms, alt, rcs) 네트워크 통신 암호화 옵션 (ON, OFF | 기본 : ON)
|
|
|
|
|
//# nuri_sign = AES 설정인 상태에서 전송구간 송수신 암호화 최종 사용 여부
|
|
|
|
|
conf.addLine("#----------------------------------------------");
|
|
|
|
|
conf.addLine("# [*][중요]기본 값 설정 권장: 임의 변경 금지, 모바일메시지 운영팀에 문의 후 변경");
|
|
|
|
|
conf.addLine("#----------------------------------------------");
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 모바일메시지서비스 Agent 각 Line 별(xms, alt, rcs) 네트워크 통신 암호화 옵션 (ON, OFF | 기본 : ON)");
|
|
|
|
|
conf.addLine("# nuri_sign = AES 설정인 상태에서 전송구간 송수신 암호화 최종 사용 여부");
|
|
|
|
|
conf.addLine("# xms_sign : SMS / MMS");
|
|
|
|
|
conf.addLine("# alt_sign : KAKAO 알림톡");
|
|
|
|
|
conf.addLine("# rcs_sign : RCS");
|
|
|
|
|
conf.addLine("#");
|
|
|
|
|
conf.addLine("xms_sign = ON");
|
|
|
|
|
conf.addLine("alt_sign = ON");
|
|
|
|
|
conf.addLine("rcs_sign = ON");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 전송 속도를 향상하기 위한 모드 변경
|
|
|
|
|
//# 이 모드를 설정하면 전송 라인이 병렬로 동작을 하게 된다.
|
|
|
|
|
//# 방화벽에서 동일한 서버로 여러 개의 Session 이 동작하는 것에 대해서 허용하도록 해야 한다.
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 전송 속도를 향상하기 위한 모드 변경");
|
|
|
|
|
conf.addLine("# 이 모드를 설정하면 전송 라인이 병렬로 동작을 하게 된다.");
|
|
|
|
|
conf.addLine("# 방화벽에서 동일한 서버로 여러 개의 Session 이 동작하는 것에 대해서 허용하도록 해야 한다.");
|
|
|
|
|
conf.addLine("# 예) xms_active_socket = 4 <-- SMS / MMS 전송 세션을 4개까지 늘려서 전송을 한다.(권장:5개 미만, 최대 10개)");
|
|
|
|
|
conf.addLine("# alt_active_socket = 3 <-- KAKAO 알림톡 전송 세션을 3개까지 늘려서 전송을 한다.(권장:5개 미만, 최대 10개)");
|
|
|
|
|
conf.addLine("# rcs_active_socket = 2 <-- RCS 전송 세션을 2개까지 늘려서 전송을 한다.(권장:5개 미만, 최대 10개)");
|
|
|
|
|
conf.addLine("#----------------------------------------------");
|
|
|
|
|
conf.addLine("# [*][중요]기본 값 설정 권장: 임의 변경 금지, 모바일메시지 운영팀에 문의 후 변경");
|
|
|
|
|
conf.addLine("#----------------------------------------------");
|
|
|
|
|
conf.addLine("## 주의 : 대량발송이 아니면 무조건 1, 옵션을 다른값으로 하더라도 국가정보관리원 확인 필요");
|
|
|
|
|
conf.addLine("xms_active_socket = 1");
|
|
|
|
|
conf.addLine("alt_active_socket = 1");
|
|
|
|
|
conf.addLine("rcs_active_socket = 1");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 전송 결과값을 빠르게 받기 위한 Receiver Multi (ON, OFF | 기본 : OFF)
|
|
|
|
|
//# Receiver 가 Sender 와 Session 수량이 연결되게 동작을 하게 된다.
|
|
|
|
|
//# 방화벽에서 동일한 서버로 여러 개의 Session 이 동작하는 것에 대해서 허용하도록 해야 한다.
|
|
|
|
|
conf.addLine("#----------------------------------------------");
|
|
|
|
|
conf.addLine("# [*][중요]기본 값 설정 권장: 임의 변경 금지, 모바일메시지 운영팀에 문의 후 변경");
|
|
|
|
|
conf.addLine("#----------------------------------------------");
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 전송 결과값을 빠르게 받기 위한 Receiver Multi (ON, OFF | 기본 : OFF)");
|
|
|
|
|
conf.addLine("# Receiver 가 Sender 와 Session 수량이 연결되게 동작을 하게 된다.");
|
|
|
|
|
conf.addLine("# 방화벽에서 동일한 서버로 여러 개의 Session 이 동작하는 것에 대해서 허용하도록 해야 한다.");
|
|
|
|
|
conf.addLine("#----------------------------------------------");
|
|
|
|
|
conf.addLine("# [*][중요]기본 값 설정 권장: 임의 변경 금지, 모바일메시지 운영팀에 문의 후 변경");
|
|
|
|
|
conf.addLine("#----------------------------------------------");
|
|
|
|
|
conf.addLine("## 주의 : 대량발송이 아니면 무조건 OFF, 옵션을 ON으로 하더라도 국가정보관리원 확인 필요");
|
|
|
|
|
conf.addLine("receiver_multi = OFF");
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# Nuri2 재시작 시간 설정
|
|
|
|
|
//# 설정한 시간에 모든 프로세스를 종료 후 재기동 함.
|
|
|
|
|
//# 설정하지 않으면 재시작 하지 않음.
|
|
|
|
|
//# (0100 ~ 2400) 분 단위까지 적용 가능.
|
|
|
|
|
conf.addLine("#----------------------------------------------");
|
|
|
|
|
conf.addLine("# [*][중요]기본 값 설정 권장: 임의 변경 금지, 모바일메시지 운영팀에 문의 후 변경");
|
|
|
|
|
conf.addLine("#----------------------------------------------");
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# Nuri2 재시작 시간 설정");
|
|
|
|
|
conf.addLine("# 설정한 시간에 모든 프로세스를 종료 후 재기동 함.");
|
|
|
|
|
conf.addLine("# 설정하지 않으면 재시작 하지 않음.");
|
|
|
|
|
conf.addLine("# (0100 ~ 2400) 분 단위까지 적용 가능.");
|
|
|
|
|
conf.addLine("#");
|
|
|
|
|
conf.addLine("nuri_restart_time = 0730");
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# Nuri2 REPORT 결과 갱신 (ON, OFF | 기본 : ON)
|
|
|
|
|
//# NRMSG_DATA 에 결과 갱신할 값이 없으면
|
|
|
|
|
//# 현재 달과 이전 달을 LOG 테이블을 각각 조회하여 결과 갱신하는 옵션
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# Nuri2 REPORT 결과 갱신 (ON, OFF | 기본 : ON)");
|
|
|
|
|
conf.addLine("# NRMSG_DATA 에 결과 갱신할 값이 없으면");
|
|
|
|
|
conf.addLine("# 현재 달과 이전 달을 LOG 테이블을 각각 조회하여 결과 갱신하는 옵션");
|
|
|
|
|
conf.addLine("#");
|
|
|
|
|
conf.addLine("report_follow_update = ON");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# log 테이블 이동 모드 (BATCH, REAL | 기본 : BATCH)
|
|
|
|
|
//# BATCH : 전송 완료된 메시지를 일정 수량만큼 묶어서 처리
|
|
|
|
|
//# REAL : 전송 완료된 메시지를 실시간으로 log 테이블로 이동
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# log 테이블 이동 모드 (BATCH, REAL | 기본 : BATCH)");
|
|
|
|
|
conf.addLine("# BATCH : 전송 완료된 메시지를 일정 수량만큼 묶어서 처리");
|
|
|
|
|
conf.addLine("# REAL : 전송 완료된 메시지를 실시간으로 log 테이블로 이동");
|
|
|
|
|
conf.addLine("nuri_log_mode = REAL");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# log 테이블을 생성 형태 옵션 (LOG, LOG_YYYY, LOG_YYYYMM | 기본 : LOG_YYYYMM)
|
|
|
|
|
//# NRMSG_LOG_YYYYMM 형태로 여러 개를 할 것인지
|
|
|
|
|
//# NRMSG_LOG 하나로 할 것인지
|
|
|
|
|
//# LOG : log 테이블 하나만 생성함
|
|
|
|
|
//# LOG_YYYY : log 테이블을 년 별로 나누어 생성함
|
|
|
|
|
//# LOG_YYYYMM : log 테이블을 년 매월로 나누어 생성함
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# log 테이블을 생성 형태 옵션 (LOG, LOG_YYYY, LOG_YYYYMM | 기본 : LOG_YYYYMM)");
|
|
|
|
|
conf.addLine("# NRMSG_LOG_YYYYMM 형태로 여러 개를 할 것인지");
|
|
|
|
|
conf.addLine("# NRMSG_LOG 하나로 할 것인지");
|
|
|
|
|
conf.addLine("# LOG : log 테이블 하나만 생성함");
|
|
|
|
|
conf.addLine("# LOG_YYYY : log 테이블을 년 별로 나누어 생성함");
|
|
|
|
|
conf.addLine("# LOG_YYYYMM : log 테이블을 년 매월로 나누어 생성함");
|
|
|
|
|
conf.addLine("nuri_log_make_mode = LOG_YYYYMM");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 결과 완료 값 log 테이블 이동 유무 설정 (ON, OFF | 기본 : ON)
|
|
|
|
|
//# 결과 수신 완료 후 NRMSG_DATA 의 값을 NRMSG_LOG_YYYYMM 테이블로 이동 유무 설정
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 결과 완료 값 log 테이블 이동 유무 설정 (ON, OFF | 기본 : ON)");
|
|
|
|
|
conf.addLine("# 결과 수신 완료 후 NRMSG_DATA 의 값을 NRMSG_LOG_YYYYMM 테이블로 이동 유무 설정");
|
|
|
|
|
conf.addLine("db_log_move = OFF");
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 레포트를 기다리는 시간 (단위 : 시간 | 기본 : 82)
|
|
|
|
|
//# 이 시간이 지날 경우 더 이상 레포트를 기다리지 않고 해당레코드를 log 테이블로 이동시킨다.
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 레포트를 기다리는 시간 (단위 : 시간 | 기본 : 82)");
|
|
|
|
|
conf.addLine("# 이 시간이 지날 경우 더 이상 레포트를 기다리지 않고 해당레코드를 log 테이블로 이동시킨다.");
|
|
|
|
|
conf.addLine("record_life_time = 82");
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# Agent 의 장애 시 동작 지속 시간 추가 (단위 : 시간 | 기본 : 48)
|
|
|
|
|
//# Socket 및 DB 연결이 안 되고 장애가 발생하고 있을 때 동작 지속 시간이
|
|
|
|
|
//# 초과하면 Agent 의 기동을 모두 중지함
|
|
|
|
|
//# 생략 시 48시간
|
|
|
|
|
//# 해당 장애시간에 상관없이 계속 연결을 원할 시 0시로 입력
|
|
|
|
|
//# 예) nuri_life_time = 1 (1시간 동안만 동작을 지속하고도 장애 시 Agent 로 종료함)
|
|
|
|
|
//# nuri_life_time = 0 (장애가 있어 연결이 안 되고 있어서 Agent 의 동작을 계속 유지함)
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# Agent 의 장애 시 동작 지속 시간 추가 (단위 : 시간 | 기본 : 48)");
|
|
|
|
|
conf.addLine("# Socket 및 DB 연결이 안 되고 장애가 발생하고 있을 때 동작 지속 시간이");
|
|
|
|
|
conf.addLine("# 초과하면 Agent 의 기동을 모두 중지함");
|
|
|
|
|
conf.addLine("# 생략 시 48시간");
|
|
|
|
|
conf.addLine("# 해당 장애시간에 상관없이 계속 연결을 원할 시 0시로 입력");
|
|
|
|
|
conf.addLine("# 예) 1 : (1시간 동안만 동작을 지속하고도 장애 시 Agent 로 종료함)");
|
|
|
|
|
conf.addLine("# 0 : (장애가 있어 연결이 안 되고 있어서 Agent 의 동작을 계속 유지함)");
|
|
|
|
|
conf.addLine("nuri_life_time = 48");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 사용하는 테이블의 사용자를 지정하는 옵션
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 사용하는 테이블의 사용자를 지정하는 옵션");
|
|
|
|
|
conf.addLine("db_select_user =");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 사용하는 테이블명을 변경하는 옵션
|
|
|
|
|
//# 기존에 테이블명을 사용자가 임의의 테이블명으로 변경할 수 있다.
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 사용하는 테이블명을 변경하는 옵션");
|
|
|
|
|
conf.addLine("# 기존에 테이블명을 사용자가 임의의 테이블명으로 변경할 수 있다.");
|
|
|
|
|
conf.addLine("db_table_name.NRMSG_DATA = nuri2_nrmsg_data");
|
|
|
|
|
conf.addLine("db_table_name.NRMSG_LOG = nuri2_nrmsg_log");
|
|
|
|
|
conf.addLine("db_table_name.NRMSG_RSLT = nuri2_nrmsg_rslt");
|
|
|
|
|
conf.addLine("db_table_name.NRMSG_DUPLEX = nuri2_nrmsg_duplex");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 사용하는 시퀀스 명을 변경하는 옵션
|
|
|
|
|
//# 기존에 시퀀스 명을 사용자가 임의의 시퀀스 명으로 변경할 수 있다.
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 사용하는 시퀀스 명을 변경하는 옵션");
|
|
|
|
|
conf.addLine("# 기존에 시퀀스 명을 사용자가 임의의 시퀀스 명으로 변경할 수 있다.");
|
|
|
|
|
conf.addLine("db_sequence_name.NRMSG_DATA = sq_nuri2_nrmsg_data");
|
|
|
|
|
conf.addLine("db_sequence_name.NRMSG_RSLT = sq_nuri2_nrmsg_rslt");
|
|
|
|
|
conf.addLine("db_sequence_name.NRMSG_DUPLEX = sq_nuri2_nrmsg_duplex");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 데이터베이스의 사용자 필드, 사용자 인덱스 추가 가능한 총량
|
|
|
|
|
//# 필드 및 인덱스는 최대 10개만 가능하다.
|
|
|
|
|
//# 예) db_max_count = 5 <-- db_field, db_index 를 5개 이상 설정해 놓아도 5개까지만 추가가 된다.(최대 10개)
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 데이터베이스의 사용자 필드, 사용자 인덱스 추가 가능한 총량");
|
|
|
|
|
conf.addLine("# 필드 및 인덱스는 최대 10개만 가능하다.");
|
|
|
|
|
conf.addLine("# 예) 5 : <-- db_field, db_index 를 5개 이상 설정해 놓아도 5개까지만 추가가 된다.(최대 10개)");
|
|
|
|
|
conf.addLine("db_max_count = 10");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 데이터베이스의 사용자 필드 추가 옵션
|
|
|
|
|
//# 생성할 필드명과 데이터 타입 및 옵션 사이엔 스페이스로 구분해 줘야 한다.
|
|
|
|
|
//# 아래 예와 같이 설정을 하면 2개의 필드가가 생성되며
|
|
|
|
|
//# 테이블 맨 마지막에 MSG_ETC1, MSG_ETC2 필드가 추가된다.
|
|
|
|
|
//# 예) db_field = MSG_ETC1 varchar(10)
|
|
|
|
|
//# db_field = MSG_ETC2 varchar(10)
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 데이터베이스의 사용자 필드 추가 옵션");
|
|
|
|
|
conf.addLine("# 생성할 필드명과 데이터 타입 및 옵션 사이엔 스페이스로 구분해 줘야 한다.");
|
|
|
|
|
conf.addLine("# 아래 예와 같이 설정을 하면 2개의 필드가가 생성되며");
|
|
|
|
|
conf.addLine("# 테이블 맨 마지막에 MSG_ETC1, MSG_ETC2 필드가 추가된다.");
|
|
|
|
|
conf.addLine("# 예) db_field = MSG_ETC1 varchar(10)");
|
|
|
|
|
conf.addLine("# db_field = MSG_ETC2 varchar(10)");
|
|
|
|
|
for(String customCol : customCols) {
|
|
|
|
|
conf.addLine("db_field = "+customCol);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 데이터베이스의 사용자 인덱스 추가 옵션
|
|
|
|
|
//# 생성할 인덱스의 필드와 필드 사이는 콤마로 구분해 줘야 하며
|
|
|
|
|
//# 정렬( 오름차순:ASC, 내림차순:DESC) 도 설정할 수 있다.
|
|
|
|
|
//# 아래 예와 같이 설정을 하면 3개의 인덱스가 생성되며
|
|
|
|
|
//# 인덱스 명은 "IDX_로그테이블명_순서"로 생성이 된다.
|
|
|
|
|
//# 예) db_index = MSG_KEY
|
|
|
|
|
//# db_index = CUR_STATE DESC, REQ_DATE ASC
|
|
|
|
|
//# db_index = CALL_TO
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 데이터베이스의 사용자 인덱스 추가 옵션");
|
|
|
|
|
conf.addLine("# 생성할 인덱스의 필드와 필드 사이는 콤마로 구분해 줘야 하며");
|
|
|
|
|
conf.addLine("# 정렬( 오름차순:ASC, 내림차순:DESC) 도 설정할 수 있다.");
|
|
|
|
|
conf.addLine("# 아래 예와 같이 설정을 하면 3개의 인덱스가 생성되며");
|
|
|
|
|
conf.addLine("# 인덱스 명은 \"IDX_로그테이블명_순서\"로 생성이 된다.");
|
|
|
|
|
conf.addLine("# 예) db_index = MSG_KEY");
|
|
|
|
|
conf.addLine("# db_index = CUR_STATE DESC, REQ_DATE ASC");
|
|
|
|
|
conf.addLine("# db_index = CALL_TO");
|
|
|
|
|
conf.addLine("db_index = ");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 데이터베이스의 전송 값의 조회시 사용할 Index Hint 명 (기본 : IDX_NRMSG_DATA_02)
|
|
|
|
|
//# Oracle, MSSQL, MySQL, MariaDB, PostgreSQL, CUBRID, Tibero, Altibase 중
|
|
|
|
|
//# Index Hint 지원 : Oracle, MSSQL, MySQL, MariaDB, Tibero, Altibase
|
|
|
|
|
//# Index Hint 미지원 : PostgreSQL, CUBRID
|
|
|
|
|
//#
|
|
|
|
|
//# 예) db_hint = IDX_NRMSG_DATA_02
|
|
|
|
|
//#
|
|
|
|
|
//# 대량메시지 발송시 필수 설정, 별도 힌트사용시 명칭 변경
|
|
|
|
|
conf.addLine("# db_hint = IDX_NRMSG_DATA_02");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 전송 데이터 조회 시간 (단위 : 초 | 기본 : 1)
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 데이터베이스의 전송 값의 조회시 사용할 Index Hint 명 (기본 : IDX_NRMSG_DATA_02)");
|
|
|
|
|
conf.addLine("# Oracle, MSSQL, MySQL, MariaDB, PostgreSQL, CUBRID, Tibero, Altibase 중");
|
|
|
|
|
conf.addLine("# Index Hint 지원 : Oracle, MSSQL, MySQL, MariaDB, Tibero, Altibase");
|
|
|
|
|
conf.addLine("# Index Hint 미지원 : PostgreSQL, CUBRID");
|
|
|
|
|
conf.addLine("# 예) db_hint = IDX_NRMSG_DATA_02");
|
|
|
|
|
conf.addLine("# 대량메시지 발송시 필수 설정, 별도 힌트사용시 명칭 변경");
|
|
|
|
|
conf.addLine("# db_hint = ");
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 전송 데이터 조회 시간 (단위 : 초 | 기본 : 1)");
|
|
|
|
|
conf.addLine("db_tran_term = 1");
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# DBMS 의 연결 유지를 의한 조회 시간 (단위 : 초 | 기본 : 60)
|
|
|
|
|
//# 커넥션 유효 쿼리는 각 DBMS 의 테이블명 조회 방식을 사용함
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# DBMS 의 연결 유지를 의한 조회 시간 (단위 : 초 | 기본 : 60)");
|
|
|
|
|
conf.addLine("# 커넥션 유효 쿼리는 각 DBMS 의 테이블명 조회 방식을 사용함");
|
|
|
|
|
conf.addLine("db_ping_term = 60");
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 모바일메시지서비스 G/W 와 연결 상태 확인 시간 (단위 : 초 | 기본 : 50)
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 모바일메시지서비스 G/W 와 연결 상태 확인 시간 (단위 : 초 | 기본 : 50)");
|
|
|
|
|
conf.addLine("ping_term = 50");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# The time when sender query to DBMS
|
|
|
|
|
//# "ORDER BY NRMSG_DATA.MSG_KEY" 사용 여부 (ON, OFF | 기본 : ON)
|
|
|
|
|
//# SELECT 시 ORDER BY NRMSG_DATA.MSG_KEY 를 사용하면
|
|
|
|
|
//# DB 서버에 부하가 약간 생기는 문제로 업체가 요청한 옵션.
|
|
|
|
|
//# OFF 하면 SELECT 시 CUR_STATE = 1의 값을 무작위로 가져오므로
|
|
|
|
|
//# 메시지 사이사이 늦게 전송되는 것이 있음.
|
|
|
|
|
//#
|
|
|
|
|
//# db_orderby : "ORDER BY NRMSG_DATA.MSG_KEY" 사용여부 (ON, OFF)
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# The time when sender query to DBMS");
|
|
|
|
|
conf.addLine("# \"ORDER BY NRMSG_DATA.MSG_KEY\" 사용 여부 (ON, OFF | 기본 : ON)");
|
|
|
|
|
conf.addLine("# SELECT 시 ORDER BY NRMSG_DATA.MSG_KEY 를 사용하면");
|
|
|
|
|
conf.addLine("# DB 서버에 부하가 약간 생기는 문제로 업체가 요청한 옵션.");
|
|
|
|
|
conf.addLine("# OFF 하면 SELECT 시 CUR_STATE = 1의 값을 무작위로 가져오므로");
|
|
|
|
|
conf.addLine("# 메시지 사이사이 늦게 전송되는 것이 있음.");
|
|
|
|
|
conf.addLine("db_orderby = ON");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 테이블, 인덱스 생성
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# The time when create table query to DBMS");
|
|
|
|
|
conf.addLine("# Create Table, Create Index 체크 및 생성 사용 여부 (ON, OFF | 기본 : ON)");
|
|
|
|
|
conf.addLine("# ON : Create Table, Create Index 체크 및 생성 여부 사용함");
|
|
|
|
|
conf.addLine("# OFF : Create Table, Create Index 체크 및 생성 여부 사용 안 함");
|
|
|
|
|
conf.addLine("db_create_table = ON");
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 시퀀스생성
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# The time when create table query to DBMS");
|
|
|
|
|
conf.addLine("# Create Sequence 체크 및 생성 사용 여부 (ON, OFF | 기본 : ON)");
|
|
|
|
|
conf.addLine("# ON : Create Sequence 체크 및 생성 여부 사용함");
|
|
|
|
|
conf.addLine("# OFF : Create Sequence 체크 및 생성 여부 사용 안함");
|
|
|
|
|
conf.addLine("db_create_sequence = ON");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# MySQL, MariaDB 전용 옵션 (MyISAM, InnoDB)
|
|
|
|
|
//# MySQL TABLE 생성 시 Engine 타입 설정
|
|
|
|
|
//# 설정 안 하면 MySQL 기본 설정에 따라 Engine Type 생성
|
|
|
|
|
//# "SELECT engine, support FROM information_schema.engines" 질의 시 support 가 default 로 되어 있는 engine
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# MySQL, MariaDB 전용 옵션 (MyISAM, InnoDB)");
|
|
|
|
|
conf.addLine("# MySQL TABLE 생성 시 Engine 타입 설정");
|
|
|
|
|
conf.addLine("# 설정 안 하면 MySQL 기본 설정에 따라 Engine Type 생성");
|
|
|
|
|
conf.addLine("# \"SELECT engine, support FROM information_schema.engines\" 질의 시 support 가 default 로 되어 있는 engine");
|
|
|
|
|
String storageEngine = "InnoDB";
|
|
|
|
|
if(dbName.equals("MARIADB")||dbName.equals("MYSQL")) {
|
|
|
|
|
storageEngine = "";
|
|
|
|
|
}
|
|
|
|
|
conf.addLine("db_storage_engine = "+storageEngine);
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//##########################################################################################################
|
|
|
|
|
//# 메시지 타입별 CharSet
|
|
|
|
|
//# 각각의 메시지 타입별로 G/W 에 전송할 Charset 을 설정할 수 있다.
|
|
|
|
|
//# 고도화 서버는 모두 UTF-8 기본 값
|
|
|
|
|
//# 이전 SMS, MMS 서버는 EUC-KR
|
|
|
|
|
//#----------------------------------------------
|
|
|
|
|
//# EUC-KR UTF-8, UTF8, euckr, ISO-8859-1(ISO 8859)
|
|
|
|
|
//# DB마다 다름 : euckr, euc_kr, eucksc 으로 명칭이 틀릴경우 EUC-KR로 사용.
|
|
|
|
|
//# 한글이 깨지는 경우 아래와 같이 설정도 가능
|
|
|
|
|
//# CUBRID : charset_xxx = ko_KR.utf8
|
|
|
|
|
//# TIBERO : charset_xxx = EUC-KR
|
|
|
|
|
//#----------------------------------------------
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 메시지 타입별 CharSet");
|
|
|
|
|
conf.addLine("# 각각의 메시지 타입별로 G/W 에 전송할 Charset 을 설정할 수 있다.");
|
|
|
|
|
conf.addLine("# 고도화 서버는 모두 UTF-8 기본 값");
|
|
|
|
|
conf.addLine("# 이전 SMS, MMS 서버는 EUC-KR");
|
|
|
|
|
conf.addLine("#----------------------------------------------");
|
|
|
|
|
conf.addLine("# EUC-KR UTF-8, UTF8, euckr, ISO-8859-1(ISO 8859)");
|
|
|
|
|
conf.addLine("# DB마다 다름 : euckr, euc_kr, eucksc 으로 명칭이 틀릴경우 EUC-KR로 사용.");
|
|
|
|
|
conf.addLine("# 한글이 깨지는 경우 아래와 같이 설정도 가능");
|
|
|
|
|
conf.addLine("# CUBRID : charset_xxx = ko_KR.utf8");
|
|
|
|
|
conf.addLine("# TIBERO : charset_xxx = EUC-KR");
|
|
|
|
|
conf.addLine("#----------------------------------------------");
|
|
|
|
|
conf.addLine("# [*][중요]기본 값 설정 권장: 임의 변경 금지, 모바일메시지 운영팀에 문의 후 변경");
|
|
|
|
|
conf.addLine("#----------------------------------------------");
|
|
|
|
|
conf.addLine("charset_sms = EUC-KR");
|
|
|
|
|
conf.addLine("charset_mms = EUC-KR");
|
|
|
|
|
conf.addLine("charset_alt = UTF-8");
|
|
|
|
|
conf.addLine("charset_rcs = UTF-8");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 메시지 MSG_TYPE 별 CONTENTS_TYPE_1 ~ 3
|
|
|
|
|
//# CONTENTS_TYPE_1 ~ 3 에 들어가는 전송 타입으로 KAKAO 알림톡, RCS 는 계속 추가 예정
|
|
|
|
|
conf.addLine("#----------------------------------------------");
|
|
|
|
|
conf.addLine("# [*][중요]기본 값 설정 권장: 임의 변경 금지, 모바일메시지 운영팀에 문의 후 변경");
|
|
|
|
|
conf.addLine("#----------------------------------------------");
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 메시지 MSG_TYPE 별 CONTENTS_TYPE_1 ~ 3");
|
|
|
|
|
conf.addLine("# CONTENTS_TYPE_1 ~ 3 컬럼에 들어가는 전송 타입으로 KAKAO 알림톡, RCS 는 계속 추가 예정");
|
|
|
|
|
conf.addLine("# MSG_TYPE_1 ~ 3 : SMS 이면 CONTENTS_TYPE_1 ~ 3 : SMS 만 입력");
|
|
|
|
|
conf.addLine("# MSG_TYPE_1 ~ 3 : MMS 이면 CONTENTS_TYPE_1 ~ 3 : LMS,MMS 만 입력");
|
|
|
|
|
conf.addLine("# MSG_TYPE_1 ~ 3 : ALT 이면 CONTENTS_TYPE_1 ~ 3 : ALT,ALI,FRT,FRI,FRW 만 입력");
|
|
|
|
|
conf.addLine("# MSG_TYPE_1 ~ 3 : RCS 이면 CONTENTS_TYPE_1 ~ 3 : RCS,RCL,RCM,RCT,RCD,RCF,RIT 만 입력");
|
|
|
|
|
conf.addLine("#");
|
|
|
|
|
conf.addLine("msg_type.SMS = SMS");
|
|
|
|
|
conf.addLine("msg_type.MMS = LMS,MMS");
|
|
|
|
|
conf.addLine("msg_type.ALT = ALT,ALI,FRT,FRI,FRW");
|
|
|
|
|
conf.addLine("msg_type.RCS = RCS,RCL,RCM,RCT,RCD,RCF,RIT");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 모바일메시지서비스 G/W 와 연결 장애 시 실패 사용 여부 (ON, OFF | 기본 : OFF)
|
|
|
|
|
//# xxx_sender = ON 인 상태에서 각 메시지 타입별 sender 에 문제가 발생했을 때 적용되는 옵션으로
|
|
|
|
|
//# 메시지 전송 시 재전송으로 입력한 경우 실패 값으로 처리하여 2번째 또는 3번째 메시지로 전송하게 한다.
|
|
|
|
|
//# OFF : 전송할 메시지의 상태 값(MSG_STATE) 6, 결과 코드(RSLT_CODE) 990 으로 모두 실패 처리
|
|
|
|
|
//# ON : 2번째 또는 3번째 메시지로 전송.
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 모바일메시지서비스 G/W 와 연결 장애 시 실패 사용 여부 (ON, OFF | 기본 : OFF)");
|
|
|
|
|
conf.addLine("# xxx_sender = ON 인 상태에서 각 메시지 타입별 sender 에 문제가 발생했을 때 적용되는 옵션으로");
|
|
|
|
|
conf.addLine("# 메시지 전송 시 재전송으로 입력한 경우 실패 값으로 처리하여 2번째 또는 3번째 메시지로 전송하게 한다.");
|
|
|
|
|
conf.addLine("# OFF : 전송할 메시지의 상태 값(MSG_STATE) 6, 결과 코드(RSLT_CODE) 990 으로 모두 실패 처리");
|
|
|
|
|
conf.addLine("# ON : 2번째 또는 3번째 메시지로 전송.");
|
|
|
|
|
conf.addLine("sender_failure_switch = ON");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 하루에 한 수신번호에 보낼 수 있는 메시지 수량 (기본 : 10개)
|
|
|
|
|
//# 생략 시 10개
|
|
|
|
|
//# 0개로 세팅 시 사용 안 함
|
|
|
|
|
//# # 메시지 내용과 상관 없이 동일 폰번호에 나가는 건수.
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 하루에 한 수신번호에 보낼 수 있는 메시지 수량 (기본 : 10개)");
|
|
|
|
|
conf.addLine("# 생략 시 10개");
|
|
|
|
|
conf.addLine("# 0개로 세팅 시 사용 안 함");
|
|
|
|
|
conf.addLine("# 메시지 내용과 상관 없이 동일 폰번호에 나가는 건수.");
|
|
|
|
|
conf.addLine("duplicate_phone_count = 200");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# Limit Time Zone (전송 제한 시간대 설정)
|
|
|
|
|
//# 전송 제한 시작 시간 (0100 ~ 2400) 분 단위까지 적용 가능, 생략 시 24시간 전송 가능.
|
|
|
|
|
//# 예) limit_begin = 2100
|
|
|
|
|
//# 예) limit_end = 0600
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# Limit Time Zone (전송 제한 시간대 설정)");
|
|
|
|
|
conf.addLine("# 전송 제한 시작 시간 (0100 ~ 2400) 분 단위까지 적용 가능, 생략 시 24시간 전송 가능.");
|
|
|
|
|
conf.addLine("limit_begin =");
|
|
|
|
|
conf.addLine("limit_end =");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# 현재 시간으로부터 설정 시간(RES_DATE 입력 시간) 이전 시간까지만 전송 (단위 : 시간 | 기본 : 3)
|
|
|
|
|
//# 생략 시 3시간
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# 현재 시간으로부터 설정 시간(RES_DATE 입력 시간) 이전 시간까지만 전송 (단위 : 시간 | 기본 : 3)");
|
|
|
|
|
conf.addLine("# 생략 시 3시간");
|
|
|
|
|
conf.addLine("before_time = 3");
|
|
|
|
|
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
//# Active / Stand By 이중화 사용 여부 (ON, OFF | 기본 : OFF)
|
|
|
|
|
//# OFF 일 경우에 동작하지 않는다.
|
|
|
|
|
//# 이중화를 사용하고 MMS 전송 시엔 NRMSG_DATA 테이블이 참조하는
|
|
|
|
|
//# XMS_FILE_NAME_1 ~ XMS_FILE_NAME_3 경로 값을 꼭 MASTER, SLAVE 서버 각각에
|
|
|
|
|
//# 동일한 경로에 저장하여 사용해야 한다.
|
|
|
|
|
//# 모듈 이중화 설정.
|
|
|
|
|
//# 부팅이 느려짐
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# Active / Stand By 이중화 사용 여부 (ON, OFF | 기본 : OFF)");
|
|
|
|
|
conf.addLine("# OFF 일 경우에 동작하지 않는다.");
|
|
|
|
|
conf.addLine("# 이중화를 사용하고 MMS 전송 시엔 NRMSG_DATA 테이블이 참조하는");
|
|
|
|
|
conf.addLine("# XMS_FILE_NAME_1 ~ XMS_FILE_NAME_3 경로 값을 꼭 MASTER, SLAVE 서버 각각에");
|
|
|
|
|
conf.addLine("# 동일한 경로에 저장하여 사용해야 한다.");
|
|
|
|
|
conf.addLine("# 모듈 이중화 설정.");
|
|
|
|
|
conf.addLine("# 부팅이 느려짐");
|
|
|
|
|
conf.addLine("duplex_switch = OFF");
|
|
|
|
|
conf.addLine("duplex_id = MASTER");
|
|
|
|
|
|
|
|
|
|
//로그레벨
|
|
|
|
|
conf.addLine(sharps);
|
|
|
|
|
conf.addLine("log 기록 범위 설정");
|
|
|
|
|
conf.addLine("DEBUG : NURI2 의 상세 로그");
|
|
|
|
|
conf.addLine("FATAL : NURI2 의 치명적 에러");
|
|
|
|
|
conf.addLine("ERROR : NURI2 가 수행 가능 정도의 에러");
|
|
|
|
|
conf.addLine("WARN : NURI2 가 시스템에 문제를 일으킬 가능성이 있을 때 사용");
|
|
|
|
|
conf.addLine("INFO : NURI2 의 정보용으로 사용");
|
|
|
|
|
conf.addLine("");
|
|
|
|
|
conf.addLine("##########################################################################################################");
|
|
|
|
|
conf.addLine("# log 기록 범위 설정");
|
|
|
|
|
conf.addLine("# DEBUG : NURI2 의 상세 로그");
|
|
|
|
|
conf.addLine("# FATAL : NURI2 의 치명적 에러");
|
|
|
|
|
conf.addLine("# ERROR : NURI2 가 수행 가능 정도의 에러");
|
|
|
|
|
conf.addLine("# WARN : NURI2 가 시스템에 문제를 일으킬 가능성이 있을 때 사용");
|
|
|
|
|
conf.addLine("# INFO : NURI2 의 정보용으로 사용");
|
|
|
|
|
conf.addLine("#");
|
|
|
|
|
conf.addLine("console.log_level = INFO");
|
|
|
|
|
conf.addLine("system.log_level = INFO");
|
|
|
|
|
|
|
|
|
|
|