본문으로 건너뛰기

일괄전송 파일명 커스터마이징

일괄전송 파일명은 명명 규칙에 따라 정의해야 한다. 이 장에서는 명명 규칙에 따라 파일명을 구성할 수 없는 경우에 사용자 프로그램을 통해 커스터마이징 하는 방법에 대해 설명한다.

1. 파일명 처리 프로그램 개발

파일명 처리를 위해서는 BXI에서 제공하는 'BatchFileNameProcess' API 인터페이스를 구현해야 한다. 두 API 중 하나는 송신 파일 명명 규칙을 위한 API이고 다른 하나는 수신 파일 명명 규칙을 위한 API이다.

  • 송신 파일 명명 규칙 : 업무 시스템에서 전달받은 파일명을 기반으로 파일ID, 송수신파일명, 기관코드, 업무코드, 기준일자를 구하여 반환한다.

  • 수신 파일 명명 규칙 : 기관에서 수신한 파일을 업무 시스템에 전달하기 위해 파일명을 생성하여 반환한다. 송신 파일 명명 규칙과 반대로 파일ID, 송수신파일명, 기관코드, 업무코드, 기준일자를 전달하면 사용할 파일명을 반환한다.

public interface BatchFileNameProcess {

/**
* 전송파일 명명규칙
*
* @param fileName : 업무팀으로부터 전달받은 파일명
* @return 파일정보
*/
public BatchFileNameInfo sendFileName(String fileName);

/**
* 수신파일 명명규칙
*
* @param fileInfo : 파일정보
* @return 수신받은 데이터를 저장할 파일명
*/
public String receiveFileName(BatchFileNameInfo fileInfo);
}

2. 스프링 환경 파일 등록

사용자가 작성한 파일명 처리 프로그램을 배치 인스턴스에서 사용하는 스프링 환경파일에 등록한다. 파일명 처리 프로그램은 배치 인스턴스가 실행되면 동적으로 변경할 수 없다. 프로그램을 변경해야 한다면 배치 인스턴스를 재기동 해야 한다.

    <bean id="fileInfoProcessor" class="bxi.batch.process.file.FileInfoProcessor" >
<property name="fileNameProcessor" ref="customFileNameProcessor"/>
</bean>