quartz和spring 簡單配置定時器

準備條件:spring相關jar,commons-collections-3.1.jar(3.x以上),    quartz-all-1.6.0.jar。

<bean id="pushService" class="com.demo.service.PushService">

    </bean>
    <!--定義定時執行searchEngerneService 這個bean中的timeTask()方法-->
 <bean id="pushTask"   class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">  
 <!--你要執行的那個方法對應的bean-->
        <property name="targetObject">  
            <ref bean="pushService" />  
        </property>   
<!--你要執行那個方法,注意方法不能有返回值,參數好像也不能有-->
        <property name="targetMethod">
            <value>timeTask</value>  
        </property>  
    </bean>
 
 <!--觸發器的bean的設置,在這裏我們設置了我們要觸發的jobDetail是哪個。這裏我們定義了要觸發的jobDetail是searchEngerneTask,即觸發器去觸發哪個bean..並且我們還定義了觸發的時間-->   
    <bean id="doTime"  
        class="org.springframework.scheduling.quartz.CronTriggerBean">  
        <property name="jobDetail">  
            <ref bean="pushTask" />  
        </property>  
        <property name="cronExpression">   
            <!-- 關鍵在配置此表達式,在每天上午8點到2:55期間和下午6點到6:55期間的每5分鐘觸發  -->   
            <value>0 0/1 9-23 * * ?</value>  
        </property>  
    </bean>   
    <!-- 總管理類 如果將lazy-init='false'那麼容器啓動就會執行調度程序  -->

        <bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

            <property name="triggers">
                <list>
                    <ref bean="doTime"/>
                </list>
            </property>
        </bean>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章