<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 奮斗成就男人 閱讀(180) 評論(0)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: 香蕉高清免费永久在线视频| 亚洲国产精品一区二区久久hs| 亚洲av无码国产精品色午夜字幕 | 亚洲欧洲中文日韩av乱码| 好猛好深好爽好硬免费视频| 亚洲电影在线免费观看| 国产日韩一区二区三免费高清| 精品无码一区二区三区亚洲桃色 | 亚洲综合亚洲国产尤物| 成年丰满熟妇午夜免费视频 | 成年丰满熟妇午夜免费视频| 精精国产www视频在线观看免费| 亚洲图片中文字幕| 亚洲精品无码成人片在线观看 | 国产成人自产拍免费视频| 亚洲精品影院久久久久久| 亚洲精品tv久久久久| 免费能直接在线观看黄的视频| 精品成人一区二区三区免费视频| 午夜亚洲国产理论秋霞| 全部免费毛片免费播放| 国产国产人免费视频成69堂| 国产成人精品免费大全| 亚洲人成电影网站色www| 久久亚洲国产成人亚| 亚洲男人的天堂一区二区| 啦啦啦中文在线观看电视剧免费版| 成人无码区免费A∨直播| 亚洲另类无码专区丝袜| 亚洲黄色高清视频| 亚洲午夜福利AV一区二区无码| 免费无码黄网站在线观看| 99久久免费观看| 香蕉免费看一区二区三区| 羞羞视频在线免费观看| 亚洲高清中文字幕免费| 亚洲精品一卡2卡3卡三卡四卡| 国产亚洲欧洲精品| 久久国产成人精品国产成人亚洲| 操美女视频免费网站| 国产精品永久免费10000|