'스케즐러'에 해당되는 글 1건

  1. 2008.07.13 Spring Framework를 이용한 Scheduler - Quertz에 대한 설명
정말 이번 주는 바쁘기도 무척 바빴지만, 더위와 높은 습도로 인하여 지치는 한주간이었다.

일반적으로 자바에서, 사용 가능한 Scheduler는 Java에서 기본적으로 제공하는 Timer(J2SE 1.3이후 제공)와 Quartz 라이브러리를 많이 사용한다.
만약, 우리가 어떤 작업들에 대해서 반복적인 처리를 하고 싶다면, 두 라이브러리의 API와 상속받은 Class를 통해서 호출이 될수 있도록 코드를 추가하기만 하면 된다.

J2SE에서 제공하는 java.utilTime와 Quartz는 기능적으로 차이가 있는데, Timer는 일정한 주기를 반복하는 기능만을 제공하므로 정해진 시간에 실행되는 기능은 제공하지 않는다.
반면에, Quartz는 두 가지 모두를 제공한다.(주기적인 실행, 지정한 시간에 실행)
물론, Quartz의 경우는 더 많은 기능들을 제공한다. Unix와 리눅스의 Cron 텝의 사용법과 유사하게 설정하여, Task또는 Job을 실행 시킬수 있다.
 
필요에 따라 둘 중에 하나를 사용하면 된다. J2SE의 Timer는 사용법이 쉽다. Quartz는 여러가지 기능을 제공하기 때문에 약간의 노력이 더 필요하다.

[Quartz 시작하기]
1. Quartz 시작 하기: http://www.opensymphony.com/quartz/
   - 위 사이트에 가면 간단하게 Quartz가 무었인가에 대해 설명해 주고 있다. Quartz는 오픈소스로 Apache 2.0의 라이센스를 사용하므로, 소스를 고치거나 사용함에 큰 무리는 없다.
   - 현재 사용할 수 있는 최신 버전은 1.6 버전이다.

2. Quartz 다운로드 하기: http://www.opensymphony.com/quartz/download.action
   - 1.6버전을 다운로드해서 사용하면 된다.

3. Quartz 관련 문서들: http://wiki.opensymphony.com/display/QRTZ1/Documentation  
   - 보아야 할 문서들이 많다. 하지만 시간이 없거나 간단하게 개념을 이해하고 싶은 사람은
     "3. Learn Quartz의 Tutorials"를 보면 된다. 기본적인 개념과 API사용법을 익히는데
     부족함이 없을 거다.

4. Quzrtz 간단 예제들: http://wiki.opensymphony.com/display/QRTZ1/Tutorial
   - 12개의 간략한 예제들이 있다. 반드시 읽어봐야 할 예제들로 구성되어 있다.
      Quartz를 사용하고 싶은 사람은 꼭 여기를 보라.

5. Quartz의 API: http://www.opensymphony.com/quartz/api/
   - Quartz 사용을 위한 API 문서로서, 기본적으로 봐야 할 클래스와 인터페이스는
      1) Scheduler
      2) Trigger
      3) JobDetail
      4) Job (가장 기본적인 Interface이다.)
      5) 기타등등( 나머지는 필요에 따라서 보면된다.)


조금 복잡할 수동 있지만 Trigger와 JobDetail 클래스(or Interface)의 사용 및 설계 의도를 이해하면 별로 어렵지 않게 Quartz를 접할 수 있을 거다.

Trigger와 JobDaeail과 Job은 다음 기회에 설명하려고 한다.


Posted by 행복상자