<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    yxhxj2006

    常用鏈接

    統計

    最新評論

    Quartz 框架快速入門(四)

    Spring的scheduling.quartz包中對Quartz框架進行了封裝,使得開發時不用寫任何QuartSpring的代碼就可以實現定時任務。Spring通過JobDetailBean,MethodInvokingJobDetailFactoryBean實現Job的定義。后者更加實用,只需指定要運行的類,和該類中要運行的方法即可,Spring將自動生成符合Quartz要求的JobDetail。
    在上一篇文章《Quartz 框架快速入門(三)》中我們將示例遷移到Web環境下了,但使用的是Quartz的啟動機制,這一篇中我們將讓Web服務器啟動Spring,通過Spring的配置文件來進行任務的調度
    1,創建一個Web項目,加入spring.jar,quartz-1.6.0.jar,commons-collections.jar,jta.jar ,commons-logging.jar這幾個包.
         2,創建一個類,在類中添加一個方法execute,我們將對這個方法進行定時調度.

    package com.vista.quartz;

    import java.util.Date;

    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;

    public class HelloWorld 
    {
        private static Log logger = LogFactory.getLog(HelloWorld.class);//日志記錄器
        public HelloWorld()
        {
        }
        public void execute()
        {
            logger.info("Kick your ass and Fuck your mother! - " + new Date()); 
        }
    }

    2. Spring配置文件applicationContext.xml 修改如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans
        xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

        <!-- 要調用的工作類 -->
        <bean id="quartzJob" class="com.vista.quartz.HelloWorld"></bean>
        <!-- 定義調用對象和調用對象的方法 -->
        <bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
            <!-- 調用的類 -->
            <property name="targetObject">
                <ref bean="quartzJob"/>
            </property>
            <!-- 調用類中的方法 -->
            <property name="targetMethod">
                 <value>execute</value>
            </property>
        </bean>
        <!-- 定義觸發時間 -->
        <bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerBean">
            <property name="jobDetail">
                <ref bean="jobtask"/>
            </property>
            <!-- cron表達式 -->
            <property name="cronExpression">
                <value>10,15,20,25,30,35,40,45,50,55 * * * * ?</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>
    </beans>

    3,先在控制臺中對上面的代碼進行測試,我們要做的只是加載Spring的配置文件就可以了,代碼如下:

    package com.vista.quartz;

    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;

    public class Test 
    {
        public static void main(String[] args) 
        {
             System.out.println("Test start.");
                ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
                //如果配置文件中將startQuertz bean的lazy-init設置為false 則不用實例化
                
    //context.getBean("startQuertz");
             System.out.print("Test end..");
        }
    }

    4,然后將Web.xml修改如下,讓tomcat在啟動時去初始化Spring:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" 
        xmlns="http://java.sun.com/xml/ns/j2ee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
         <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
                /WEB-INF/classes/applicationContext.xml
            </param-value>
        </context-param> 
        
        <servlet>
            <servlet-name>SpringContextServlet</servlet-name>
            <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet> 

      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>

    5,最后啟動Tomcat,測試結果如下圖所示:
     


    posted on 2012-09-14 18:31 奮斗成就男人 閱讀(178) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲三级高清免费| 亚洲理论电影在线观看| 一区二区免费在线观看| 亚洲精品无码AV人在线播放| 曰批全过程免费视频播放网站| 欧美男同gv免费网站观看| 亚洲av无码片在线观看| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 亚欧人成精品免费观看| 亚洲私人无码综合久久网| 亚洲一级特黄大片无码毛片 | 亚洲欧洲校园自拍都市| 日韩免费视频网站| 亚洲午夜精品一区二区公牛电影院| 韩日电影在线播放免费版| 亚洲精品韩国美女在线| 免费中文字幕一级毛片| 色猫咪免费人成网站在线观看| 亚洲人成电影在线天堂| 四虎影在线永久免费四虎地址8848aa| jiz zz在亚洲| 亚洲精品少妇30p| 国产免费久久精品久久久| 曰批全过程免费视频网址| 成年免费大片黄在线观看com| 2022中文字字幕久亚洲| 成人无遮挡裸免费视频在线观看 | 久久国产亚洲精品无码| www国产亚洲精品久久久日本| 一级做a爰片久久毛片免费陪| 亚洲日韩在线中文字幕第一页| 无人视频免费观看免费视频| 久久精品国产亚洲AV电影| 亚洲一区二区三区免费| 九九九精品成人免费视频| 人妻无码久久一区二区三区免费| 亚洲成人福利在线| 久久噜噜噜久久亚洲va久| 免费人成视频在线观看不卡| 免费鲁丝片一级在线观看| 国产精品亚洲综合天堂夜夜|