Áö±Ý±îÁöÀÇ ¿¹Á¦¿¡¼´Â ´Ü¼ø ÀÛ¾÷ ÀÛ¼º, ½ºÄÉÁÙ ¹× ÁøÇà º¸°í¸¦ ¼³¸íÇß½À´Ï´Ù. ÀÛ¾÷ ½ºÄÉÁÙ¸µ ¸ÞÄ¿´ÏÁòÀº ½ÇÁ¦·Î Áö±Ý±îÁö Ç¥½ÃÇÑ °Íº¸´Ù ´õ °·ÂÇÕ´Ï´Ù. ¿ì¼±¼øÀ§, Áö¿¬ ¹× »ç¿ëÀÚ Á¤ÀÇ ½ºÄÉÁÙ¸µ Á¶°ÇÀ» »ç¿ëÇÏ¿© ÀÛ¾÷ÀÌ ½ºÄÉÁٵǴ ¹æ½ÄÀ» ´õ¿í ´õ Á¤¹ÐÇÏ°Ô Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÛ¾÷ ¿ì¼±¼øÀ§´Â ½Ã½ºÅÛÀÇ ´Ù¸¥ ÀÛ¾÷°ú °ü·ÃÇÏ¿© ÀÛ¾÷ÀÇ Á߿伺À» ¼³Á¤ÇÏ´Â µ¥ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ÀÛ¾÷ÀÇ ¿ì¼±¼øÀ§¸¦ ¼³Á¤Çϸé ÀÌ¹Ì ½ÇÇà ÁßÀÎ ÀÛ¾÷¿¡´Â ¿µÇâÀ» ÁÖÁö ¾ÊÁö¸¸ ´Ù¸¥ ÀÛ¾÷°ú °ü·ÃÇÏ¿© ´ë±â ÁßÀÎ ÀÛ¾÷ÀÌ ½ºÄÉÁٵǴ ¹æ¹ý¿¡´Â ¿µÇâÀ» ÁÝ´Ï´Ù. ÀÛ¾÷ÀÇ ¿ì¼±¼øÀ§´Â ´ÙÀ½°ú °°ÀÌ »çÀüÁ¤ÀÇµÈ ¿©·¯ ¿ì¼±¼øÀ§ »ó¼ö Áß ÇϳªÀÏ ¼ö ÀÖ½À´Ï´Ù.
TrivialJob job = new TrivialJob(); job.setPriority(Job.DECORATE); job.schedule();
ÀÛ¾÷ ½ºÄÉÁÙ ¹æ¹ýÀ» Á¦¾îÇÏ´Â ¶Ç ´Ù¸¥ ±â¼úÀº ½ºÄÉÁÙ¸µ Áö¿¬À» »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ½ºÄÉÁÙ¸µ Áö¿¬Àº ÀÛ¾÷À»
½ºÄÉÁÙÇÒ ¶§ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÛ¾÷ÀÌ ½ºÄÉÁٵDZâ Àü¿¡ ÁöÁ¤µÈ ½Ã°£(¹Ð¸®ÃÊ) µ¿¾È
Áö¿¬µË´Ï´Ù.
TrivialJob job = new TrivialJob();
job.schedule(1000); // wait one second before scheduling
ÀÌ¹Ì ´ë±â ÁßÀ̰ųª ÀϽà Á¤Áö ÁßÀÎ ÀÛ¾÷À» ½ºÄÉÁÙÇÏ´Â ÇÏ´Â °ÍÀº ¾Æ¹« È¿°ú°¡ ¾ø½À´Ï´Ù. ±×·¯³ª ÀÌ¹Ì ½ÇÇà ÁßÀÎ ÀÛ¾÷À»
½ºÄÉÁÙÇϸé ÀÛ¾÷ÀÌ ¿Ï·áµÈ ÈÄ¿¡ À罺ÄÉÁٵ˴ϴÙ. À̰ÍÀº ¹è°æ Æú¸µ ·çÇÁ¿Í °°Àº ¹Ýº¹ÀûÀÎ ÀÛ¾÷¿¡
Æí¸®ÇÑ ¸ÞÄ¿´ÏÁòÀÔ´Ï´Ù. ÀÛ¾÷ÀÌ ½ÇÇà ÁßÀÎ µ¿¾È ¿©·¯ ¹ø À罺ÄÉÁٵǸé
°¡Àå ÃÖ±Ù¿¡ Á¦°øµÈ Áö¿¬À¸·Î ÇÑ ¹ø¸¸ À罺ÄÉÁٵ˴ϴÙ. ´ÙÀ½ ½º´ÏÆêÀº
ÀÛ¾÷ÀÌ ÇöÀç ¹Ýº¹À» ¿Ï·áÇÑ ÀÌÈÄ 10ÃÊ µ¿¾È ½ÇÇàÇϵµ·Ï ÀÚüÀûÀ¸·Î À罺ÄÉÁÙÇÏ´Â ÀÛ¾÷À» Á¤ÀÇÇÕ´Ï´Ù.
class RepetitiveTrivialJob extends Job {
public RepetitiveTrivialJob() {
super("Repetitive Trivial Job");
}
public IStatus run(IProgressMonitor monitor) {
System.out.println("Running the job.");
// reschedule after 10 seconds
schedule(10000);
return Status.OK_STATUS;
}
}
ÀÛ¾÷ Ŭ·¡½ºÀÇ Ãß°¡ ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇϸé
ÀÛ¾÷ÀÌ ½ºÄÉÁٵǰųª ½ÇÇàµÇ±â Àü¿¡ »çÀü Á¶°ÇÀÌ ÀÖ´ÂÁö °Ë»çÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ³»¿ëÀº ´ÙÀ½ ¿¹Á¦¿¡¼ °¡Àå Àß ¼³¸íµË´Ï´Ù.
class JobWithPreconditions extends Job {
...
public boolean shouldSchedule() {
return super.shouldSchedule() && checkJobPreconditions();
}
public boolean shouldRun() {
return super.shouldRun() && checkJobPreconditions();
}
...
}
shouldSchedule ¸Þ¼Òµå´Â ÀÛ¾÷ °ü¸®ÀÚ°¡ ÀÛ¾÷À» ´ë±â¿¿¡ ¹èÄ¡Çϱâ Á÷Àü¿¡ È£ÃâµË´Ï´Ù. ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇϸé
½ºÄÉÁÙ¸µ¿¡ ´ëÇÑ ±âº» »çÀü Á¶°ÇÀÌ ÃæÁ·µÇÁö ¾ÊÀ» °æ¿ì ÀÛ¾÷ÀÌ ÀÛ¾÷ ÀÚü¸¦ Ãë¼ÒÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÛ¾÷Àº ½ºÄÉÁÙÇϱⰡ
ÀûÀýÇÏÁö ¾ÊÀ½À» Ç¥½ÃÇÏ´Â false¸¦ ¸®ÅÏÇÏ°Ô µË´Ï´Ù. ¸¶Âù°¡Áö·Î shouldRun ¸Þ¼Òµå´Â ÀÛ¾÷ °ü¸®ÀÚ°¡ ÀÛ¾÷À»
½ÇÇàÇϱâ Á÷Àü¿¡ È£ÃâµË´Ï´Ù. ÀÛ¾÷ÀÌ ½ÇÇàµÇ±â Àü¿¡ ÃæÁ·µÇ¾î¾ß ÇÏ´Â ¸ðµç Ãß°¡ Á¶°ÇÀ» ÀÌ ½ÃÁ¡¿¡¼ È®ÀÎÇØ¾ß ÇÕ´Ï´Ù.