어떤 프로젝트에서 , 특정 시각이나 일정시간 간격으로 job 실행되어야 하는 경우가 있다.


매일 혹은 매월 통계데이터를 만들어야 되는 배치성 업무나, 일정 주기별로 서비스의 상태나 변경사항을 관리자에게 알려줘야되는 업무가 예다.



일반적으로 Java Timer API  crontab, Quartz 구현한다.

( 외에도 다수의 job scheduler library 존재한다.)


나는 PG(Payment Gateway) 개발을 하고 있다.


나의 경우에는 아래와 같은 배치성 업무들이 있다


  • 매일 새벽에 그전날 결제건에 대한 통계생성

  • 외부 PG업체에서 전날의 결제정보를 받아와 우리시스템과의 대사작업 수행

  • 매월 초 이전달 결제에 대한 정산작업

  • 매월 말 이전달 결제에 대한 청구작업 

각 업무의 특성에 맞게 crontab 과 quartz 를 선택하여 사용하고 있다.


자바기반 스케줄링 프로그래밍에 대한 자세한 내용은 아래 페이지를 참조하면 된다.


참조 :

http://archive.oreilly.com/pub/a/java/archive/quartz.html

http://tmwalker.tistory.com/36 (번역)

Posted by 빨강토끼