20
file job.conf 설정
hanmj edited this page 7 months ago
file-job.conf란?
file-job.conf 파일은 FileJobBean을 확장하여 정의하는 클래스가
- 전송할 파일을 준비하는 작업
- 수신한 파일을 처리하는 작업
을 구현하기 위한 정보를 설정하는 파일이다. 구체적으로
- 작업관련 디렉토리
- 전송/수신하는 파일이 위치하는 디렉토리
- 파일 처리를 위한 작업 디렉토리
- 파일작업별 설정
- 필수정보
- 파일작업별 고유정보
위 내용들은 다음 레이아웃으로 정의한다.
{
"dirs": {
...
},
"dirCodes": {
...
},
"jobs": [
{
...
},
...
]
}
작업관련 디렉토리 설정
"dirs": {
"receive": "수신파일 최상위 디렉토리",
"send": "전송파일 최상위 디렉토리",
"working": "파일 작업 최상위 디렉토리",
"success": "작업 성공한 파일의 최상위 디렉토리",
"fail": "작업 실패한 파일의 최상위 디렉토리"
},
"dirCodes": {
"디렉토리 코드 0": "파일종류별 경로 0",
...
}
- 'dirs'는 전송/수신 작업별 최상위 디렉토리를 설정한다.
- 파일유형별 하위 작업 디렉토리는 'dirsCode'로 설정한다.
- 파일유형별 실제 작업 디렉토리는 'dirs' + '코드로 선택한 dirCodes 경로'가 된다.
다음은 설정 사례이다.
"dirs": {
"receive": "C:\\ESB_AGENT\\RCV", /* 수신 파일 최상위 디렉토리 */
"send": "C:\\ESB_AGENT\\SND", /* 전송 파일 최상위 디렉토리 */
"working": "C:\\workspace\\work", /* 파일 작업 최상위 디렉토리 */
"success": "C:\\workspace\\success", /* 작업 성공한 파일의 최상위 디렉토리 */
"fail": "C:\\workspace\\fail" /* 작업 실패한 파일의 최상위 디렉토리 */
},
"dirCodes": {
"smg": "CG131000000768", /* 국민신문고 기관코드 */
...
}
위 예에서 dirCodes'의 'smg
를 선택하면
- 수신파일 디렉토리: C:\ESB_AGENT\RCV\CG131000000768
- 전송파일 디렉토리: C:\ESB_AGENT\SND\CG131000000768
- 작업 디렉토리: C:\workspace\work\receive\CG131000000768
- 작업 성공 디렉토리: C:\workspace\success\receive\CG131000000768
- 작업 실패 디렉토리: C:\workspace\fail\receive\CG131000000768
등이 된다.
파일작업별 설정
"jobs": [
{
"name": "작업이름",
"dirCode": "하위디렉토리 경로", /* <-- dirCodes */
...
},
...
]
파일작업별 설정은 'jobs' 항목 아래에 정의한다.
필수정보
파일작업 설정 중 다음 항목은 필수다.
- name: 작업이름, 'jobs' 항목 아래에서 유일해야 한다.
- dirCode: 'dirCodes' 중 작업에서 사용할 하위 디렉토리 코드 선택
파일작업별 고유정보
필수항목 외에 작업에서 필요한 추가정보를 정의하려면 '키-값'의 쌍으로 나열한다.
다음은 국민신문고 전문을 전송/수신하는 작업을 정의한 예다.
"jobs": [
{ /* 국민신문고 수신 */
"name": "smg-receive",
"dirCode": "smg", /* <-- dirCodes */
"infoType": "010",
"alert": "http://localhost:8080/xit-filegate/api/smg/petition/receive.do" /* 업무 통보 url */
},
{ /* 국민신문고 전송 */
"name": "smg-send",
"dirCode": "smg", /* <-- dirCodes */
"alert": "http://localhost:8080/xit-filegate/api/smg/petition/reply.do" /* 업무 통보 url */
},
...
]
위 예에서 infoType, alert는 각 작업에서 사용하는 추가정보들이다.
설정 예제
위 예제를 정리하면 다음과 같다.
{
"dirs": {
"receive": "C:\\ESB_AGENT\\RCV", /* 수신 파일 최상위 디렉토리 */
"send": "C:\\ESB_AGENT\\SND", /* 전송 파일 최상위 디렉토리 */
"working": "C:\\workspace\\work", /* 파일 작업 최상위 디렉토리 */
"success": "C:\\workspace\\success", /* 작업 완료한 파일의 최상위 디렉토리 */
"fail": "C:\\workspace\\fail" /* 작업 실패한 파일의 최상위 디렉토리 */
},
"dirCodes": {
"smg": "CG131000000768", /* 국민신문고 기관코드 */
...
},
"jobs": [
{ /* 국민신문고 수신 */
"name": "smg-receive",
"dirCode": "smg", /* <-- dirCodes */
"infoType": "010",
"alert": "http://localhost:8080/xit-filegate/api/smg/petition/receive.do" /* 업무 통보 url */
},
{ /* 국민신문고 전송 */
"name": "smg-send",
"dirCode": "smg", /* <-- dirCodes */
"alert": "http://localhost:8080/xit-filegate/api/smg/petition/reply.do" /* 업무 통보 url */
},
...
]
}