Batch Runner
- 작성자 :
- 임*홍
- 작성일 :
- 2013-01-03 17:35:22
- 조회수 :
- 1,350
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
안녕하세요.
배치 템플릿 프로젝트를 이용해서 코드를 생성하면 다음과 같이 Batch Runner 코드가 생성이 됩니다.
EgovSchedulerRunner egovSchedulerRunner = new EgovSchedulerRunner(
"/egovframework/batch/context-batch-scheduler.xml",
"/egovframework/batch/context-scheduler-job.xml",
jobPaths, 30000);
스케줄러 잡을 커맨드라인에서 실행하는 형태인데.. 위 예제 처럼 대기 시간 입력이 필요한 것 같습니다. (30초)
실제 배치 수행시에 대기 시간을 지정하지 않고 계속 실행할 수 있게 하려면 어떻게 해야 하는지 답변 부탁 드립니다.
배치 템플릿 프로젝트를 이용해서 코드를 생성하면 다음과 같이 Batch Runner 코드가 생성이 됩니다.
EgovSchedulerRunner egovSchedulerRunner = new EgovSchedulerRunner(
"/egovframework/batch/context-batch-scheduler.xml",
"/egovframework/batch/context-scheduler-job.xml",
jobPaths, 30000);
스케줄러 잡을 커맨드라인에서 실행하는 형태인데.. 위 예제 처럼 대기 시간 입력이 필요한 것 같습니다. (30초)
실제 배치 수행시에 대기 시간을 지정하지 않고 계속 실행할 수 있게 하려면 어떻게 해야 하는지 답변 부탁 드립니다.
A
안녕하세요.. 임철홍님..
말씀하신 것 처럼.. 대기 시간 후에는 스케줄러 container (ApplicationContext)가 종료됩니다.
해당 EgovSchedulerRunner 기능에는 지속적으로 실행되는 기능이 없기 때문에 EgovSchedulerRunner를 사용하지 마시고.. 다음과 같이 처리하시면 됩니다.
String[] locations = {
"/egovframework/batch/job/delimitedToDelimitedJob.xml",
"/egovframework/batch/job/fixedLengthToFixedLengthJob.xml",
...
"/egovframework/batch/context-batch-scheduler.xml",
"/egovframework/batch/context-scheduler-job.xml"
};
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(locations);
참고로 위 xml 설정을 실제 사용하시는 xml 파일 경로들을 지정하시고..
context에 대한 운영 자체는 Thread.sleep()을 이용해서 특정 종료 조건이 아닌 경우 while을 통해 looping을 반복하시면 되실 것 같습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.
PS. EgovSchedulerRunner는 계속적으로 반복될 수 있는 기능을 다음 패치시에 반영하도록 하겠습니다.
말씀하신 것 처럼.. 대기 시간 후에는 스케줄러 container (ApplicationContext)가 종료됩니다.
해당 EgovSchedulerRunner 기능에는 지속적으로 실행되는 기능이 없기 때문에 EgovSchedulerRunner를 사용하지 마시고.. 다음과 같이 처리하시면 됩니다.
String[] locations = {
"/egovframework/batch/job/delimitedToDelimitedJob.xml",
"/egovframework/batch/job/fixedLengthToFixedLengthJob.xml",
...
"/egovframework/batch/context-batch-scheduler.xml",
"/egovframework/batch/context-scheduler-job.xml"
};
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(locations);
참고로 위 xml 설정을 실제 사용하시는 xml 파일 경로들을 지정하시고..
context에 대한 운영 자체는 Thread.sleep()을 이용해서 특정 종료 조건이 아닌 경우 while을 통해 looping을 반복하시면 되실 것 같습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.
PS. EgovSchedulerRunner는 계속적으로 반복될 수 있는 기능을 다음 패치시에 반영하도록 하겠습니다.