Spring 중 정시 퀘 스 트 사용

여기 서 Spring 은 Quartz 를 사 용 했 습 니 다.이것 은 오픈 소스 의 작업 스케줄 링 프레임 워 크 입 니 다.자바 에서 완전히 작성 하고 J2SE 와 J2EE 응용 에 사용 하도록 설계 되 었 습 니 다.그것 은 단순 성 을 희생 하지 않 고 커 다란 유연성 을 제공 했다.너 는 그것 으로 작업 을 수행 하기 위해 간단 하거나 복잡 한 스케줄 을 만 들 수 있다.
  •   정시 퀘 스 트 클래스 만 들 기
  • package com.order.cc.fwfm.scheduling.svc;
    import java.util.Date;
    import org.quartz.Job;
    import org.quartz.JobDataMap;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
    import org.springframework.context.ApplicationContext;
    public class UpdateSchenulingStatusJob implements Job {
    	public void execute(JobExecutionContext context) throws JobExecutionException {
    		System.out.println("---------        ----------");
    		try {
    			JobDataMap jdm=context.getMergedJobDataMap();
    			ApplicationContext apt = (ApplicationContext)jdm.get("applicationContext");
    			SchenulingService schenulingService=(SchenulingService)apt.getBean("schenulingService"); 
    			System.out.println("----------        ----------");
    			schenulingService.updateStatus();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		System.out.println("----------        ----------");
    	}
    }

      
       2.   Spring 프로필 에 다음 내용 을 추가 합 니 다.
    <!--         -->
    	<bean id="statusJob"
    		class="org.springframework.scheduling.quartz.JobDetailBean">
    		<!--           -->
    		<property name="jobClass">
    			<value>
    				com.order.cc.fwfm.scheduling.svc.UpdateSchenulingStatusJob
    			</value>
    		</property>
    		<property name="jobDataAsMap">
    			<map>
    				<entry key="size" value="5" />
    			</map>
    		</property>
    		<property name="applicationContextJobDataKey"
    			value="applicationContext" />
    	</bean>
    	<!--            -->
    	<bean id="trigger"
    		class="org.springframework.scheduling.quartz.CronTriggerBean">
    		<property name="jobDetail">
    			<ref local="statusJob" />
    		</property>
    		<!--       cronExpression  ,  cron expression-->
    		<property name="cronExpression">
    			<!--             -->
    			 <value>0 0 0 * * ?</value>
    		</property>
    	</bean>
    	<!--                -->
    	<bean autowire="no" id="schedulerFactory"
    		class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    		<property name="triggers">
    			<list>
    				<ref local="trigger" />
    			</list>
    		</property>
    	</bean>

     
     
        3.cron expression 의 각 필드 의 의미
        
    Cron         ,    5 6     ,   6 7  ,          ,Cron        
      : 
    Seconds Minutes Hours DayofMonth Month DayofWeek Year   
    Seconds Minutes Hours DayofMonth Month DayofWeek 
                : 
    
    
       
    Seconds:   ,- * /     ,     0-59      
    Minutes:   ,- * /     ,     0-59      
    Hours:   ,- * /     ,     0-23      
    DayofMonth:   ,- * / ? L W C    ,     0-31       
    Month:   ,- * /     ,     1-12    JAN-DEc   
    DayofWeek:   ,- * / ? L C #    ,     1-7    SUN-SAT    。1     ,2     ,        
    Year:   ,- * /     ,     1970-2099  
    
    
             ,            ,      : 
    
    
       
    (1)*:          ,   Minutes   *,            。   
    
    (2)?:    DayofMonth DayofWeek   。         ,     。  DayofMonth DayofWeek     。       20     ,  20       ,         : 13 13 15 20 * ?,         ?,     *,    *           ,        。   
    
    (3)-:    ,   Minutes   5-20,   5  20            
    
    (4)/:          ,            ,   Minutes   5/20,    5      , 25,45       .   
    
    (5),:        。  : Minutes   5,20,     5 20        。   
    
    (6)L:    ,     DayofWeek DayofMonth ,   DayofWeek   5L,              。   
    
    (7)W:       (     ),     DayofMonth ,                      。  :  DayofMonth  5W,  5     ,         :   , 4   。  5     ,  6   ;  5             ,   5   。    ,W              
    
    (8)LW:         ,             ,        。   
    
    (9)#:             ,     DayofMonth 。   4#2,           。   
         : 
    
    
       
    0 0 2 1 * ? *       1    2         
    0 15 10 ? * MON-FRI            10:15                
    0 15 10 ? 6L 2002-2006   200-2006               10:15     
    91linux 
    
    
      cron      6 (   7 )          。 
    
           
     (0~59) 
      (0~59) 
    
      (0~23) 
    
     ( )(0~31,            ) 
    
     (0~11) 
    
     (  )(1~7 1=SUN   SUN,MON,TUE,WED,THU,FRI,SAT) 
    
      (1970-2099) 
    
                ( 6),      (9-12),      (8-18/4)(/    4  ),    (1,3,5),   。  "      " "      "        ,          ?. 
    
    0 0 10,14,16 * * ?     10 ,  2 ,4  
    0 0/30 9-17 * * ?                 
    0 0 12 ? * WED          12  
    "0 0 12 * * ?"     12    
    "0 15 10 ? * *"     10:15   
    "0 15 10 * * ?"     10:15   
    "0 15 10 * * ? *"     10:15   
    "0 15 10 * * ? 2005" 2005      10:15   
    "0 * 14 * * ?"      2    2:59    1     
    "0 0/5 14 * * ?"      2    2:55    5     
    "0 0/5 14,18 * * ?"      2  2:55     6  6:55    5     
    "0 0-5 14 * * ?"      2    2:05    1     
    "0 10,44 14 ? 3 WED"            2:10 2:44   
    "0 15 10 ? * MON-FRI"         10:15   
    "0 15 10 15 * ?"   15   10:15   
    "0 15 10 L * ?"          10:15   
    "0 15 10 ? * 6L"             10:15   
    "0 15 10 ? * 6L 2002-2005" 2002  2005              10:15   
    "0 15 10 ? * 6#3"            10:15  
    
    
    "0 0 12 * * ?"     12    
    "0 15 10 ? * *"     10:15   
    "0 15 10 * * ?"     10:15   
    "0 15 10 * * ? *"     10:15   
    "0 15 10 * * ? 2005" 2005      10:15   
    "0 * 14 * * ?"      2    2:59    1     
    "0 0/5 14 * * ?"      2    2:55    5     
    "0 0/5 14,18 * * ?"      2  2:55     6  6:55    5     
    "0 0-5 14 * * ?"      2    2:05    1     
    "0 10,44 14 ? 3 WED"            2:10 2:44   
    "0 15 10 ? * MON-FRI"         10:15   
    "0 15 10 15 * ?"   15   10:15   
    "0 15 10 L * ?"          10:15   
    "0 15 10 ? * 6L"             10:15   
    "0 15 10 ? * 6L 2002-2005" 2002  2005              10:15   
    "0 15 10 ? * 6#3"            10:15   
        6  
    0 6 * * * 
          
    0 0 */2 * * * 
      11    7        ,     
    0 0 23-7/2,8 * * * 
        4                 11  
    0 0 11 4 * 1-3 
    1 1   4  
    0 0 4 1 1 *
    
    
    
                     
    
      :    ( (  ))    “MON-FRI”,“MON,WED,FRI”,“MON-WED,SAT” 
    
    “*”           
    
      ,“*”     ( )         ,“*”     ( (  ))         
    
    
    
    “/”            
    
      :     (  )  “0/15”    0    , 15   
    
                  (  )  “3/20”    3    , 20  (  “3,23,43”)      
    
    
    “?”       ( )  (  )      ,       
    
     2                ,      ,              “?” 
    
    
    
    “L”        ( )  (  )      ,    “last”    
    
                      。 
    
      ( )     ,“L”           
    
      (  )     ,“L”           ,   SAT 
    
       “L”       ,           
    
      :“6L”         6 ,“FRIL”             
    
      :   “L”   ,         ,         
    
    
    
                       
         0-59    , - * / 
         0-59    , - * / 
          0-23    , - * / 
          1-31    , - * ? / L W C 
          1-12    JAN-DEC    , - * / 
          1-7    SUN-SAT    , - * ? / L C # 
     (  )      , 1970-2099    , - * /
    

    좋은 웹페이지 즐겨찾기