亚洲综合AⅤ一区二区三区不卡,欧美成在线观看国产,老司机精品视频在线观看播放,精品久久国产免费

<dl id="2gmk4"><small id="2gmk4"></small></dl>
  • 首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載
    2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試
    MPA考試 | 中科院
    四六級 | 職稱英語 | 商務(wù)英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
    新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語
    計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證
    華為認證 | Java認證
    公務(wù)員 | 報關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導游資格
    報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師
    人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
    駕駛員 | 網(wǎng)絡(luò)編輯
    衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護士
    會計從業(yè)資格考試會計證) | 經(jīng)濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務(wù)師
    注冊資產(chǎn)評估師 | 高級會計師 | ACCA | 統(tǒng)計師 | 精算師 | 理財規(guī)劃師 | 國際內(nèi)審師
    一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
    質(zhì)量工程師 | 物業(yè)管理師 | 招標師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價師 | 土地估價師 | 巖土師
    設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀人 | 投資項目管理師 | 土地登記代理人 | 環(huán)境影響評價師 | 環(huán)保工程師
    城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師
    繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲
    您現(xiàn)在的位置: 考試吧(lyawyb.com) > 計算機等級考試 > 計算機二級 > JAVA > 復習資料 > 正文

    2011年計算機等考二級JAVA學習精華整理(62)

    來源:考試吧lyawyb.com) 2010-11-27 10:43:46 考試吧:中國教育培訓第一門戶 模擬考場
    考試吧整理了2011年計算機的等考二級JAVA學習精華,幫助考生備考。

      2.4 Java Web應(yīng)用中的任務(wù)調(diào)度

      為何需要任務(wù)調(diào)度?

      在web應(yīng)用中,大多數(shù)任務(wù)是以一種"防止用戶長時間等待"的方式完成的。在Google搜索這樣的例子中,減少等待時間對用戶體驗來說至關(guān)重要。異步任務(wù)的一種解決方案是在用戶提交后生成一個線程(來處理異步任務(wù)),但這也不能解決那些需要以一定時間間隔重復運行任務(wù)、或在每天的指定時間運行任務(wù)的情況。

      讓我們從一個數(shù)據(jù)庫報表的例子來看看任務(wù)調(diào)度能如何幫助改善系統(tǒng)設(shè)計。報表可能是錯綜復雜的,這取決于用戶所需數(shù)據(jù)的種類,以及是否需要從一個或多個數(shù)據(jù)庫收集大量數(shù)據(jù)。用戶可能需要很長時間來運行這樣的"按需"報表。因此,我們向這個報表示例中添加任務(wù)調(diào)度機制,以便用戶可以安排在任何他們需要的時間生成報表,并以PDF或其他格式在email中發(fā)送。用戶可以讓報表在每天的凌晨2:22,系統(tǒng)正處于低負荷時運行;也可以選擇只在特定時間運行一次。通過在報表應(yīng)用中加入任務(wù)調(diào)度,我們可以為產(chǎn)品添加一項有用的功能,并改善用戶體驗。

      幸運的是,有一個強大的開源解決方案可以讓我們以標準的方式在web應(yīng)用(或任何Java應(yīng)用)中實施任務(wù)調(diào)度。以下示例展示了在web應(yīng)用中,如何使用Quartz來創(chuàng)建一個任務(wù)調(diào)度框架。這個示例還使用了Struts Action framework 插件,以便在web應(yīng)用啟動時初始化任務(wù)調(diào)度機制。Struts是最常見的MVC框架,為大多數(shù)開發(fā)人員所熟悉。當然除此之外還有許多框架可以協(xié)助在web應(yīng)用中實現(xiàn)MVC模式。

      啟動時初始化任務(wù)調(diào)度器

      我們首先要做的是建立一個Struts插件,讓它在容器啟動時創(chuàng)建我們的任務(wù)調(diào)度器。在以下例子中,我們選擇Tomcat作為web應(yīng)用容器,不過這些示例在其他容器中也應(yīng)當可以運行。我們要創(chuàng)建一個Struts插件類,并在struts-config.xml中加入幾行代碼以使之可以工作。

      這個插件有兩個可配置的初始化參數(shù):startOnLoad指定是否要在容器啟動時立即啟動任務(wù)調(diào)度器,而 startupDelay指定啟動任務(wù)調(diào)度器之前的等待時間。啟動延時很有用,因為我們可能需要首先執(zhí)行一些更重要的初始化步驟。此外還可以使用listener機制,以更復雜的方式來通知SchedulerPlugIn何時啟動Quartz Scheduler。

      我們要創(chuàng)建的是一個實現(xiàn)Struts插件接口org.apache.struts.action.PlugIn的單子類SchedulerPlugIn。Struts會按照配置文件中出現(xiàn)的順序初始化各個插件。要特別注意的是init()方法中的代碼,在此我們初始化了所需的Quartz對象,并得到Scheduler。我們的任務(wù)信息就要提交到此org.quartz.Scheduler對象,后者將在隨后討論。Scheduler對象由Quartz servlet根據(jù)其配置初始化,就像Struts初始化它的ActionServlet類一樣。讓我們來看init()方法:

      public void init(ActionServlet actionServlet,

      ModuleConfig moduleConfig) {

      System.out.println("Initializing Scheduler PlugIn for Jobs!");

      // Retrieve the ServletContext

      // 獲取ServletContext

      ServletContext ctx = actionServlet.getServletContext();

      // The Quartz Scheduler

      // Quartz Scheduler對象

      Scheduler scheduler = null;

      // Retrieve the factory from the ServletContext.

      // It will be put there by the Quartz Servlet

      // 從ServletContext取得由Quartz Servlet放置在此的factory對象。

      StdSchedulerFactory factory = (StdSchedulerFactory)

      ctx.getAttribute(QuartzInitializerServlet.QUARTZ_FACTORY_KEY);

      try{

      // Retrieve the scheduler from the factory

      // 從factory取得scheduler

      scheduler = factory.getScheduler();

      // Start the scheduler in case, it isn't started yet

      // 如果scheduler尚未啟動,則啟動它

      if (m_startOnLoad != null &&

      m_startOnLoad.equals(Boolean.TRUE.toString())){

      System.out.println("Scheduler Will start in " +

      m_startupDelayString + " milliseconds!");

      //wait the specified amount of time before

      // starting the process.

    1 2 3 4 5 下一頁
      相關(guān)推薦:

      計算機等級考試二級Java經(jīng)典算法大全匯總

      2010年9月計算機等級考試成績查詢時間匯總

       2011計算機等級考試二級JAVA學習精華匯總

    文章搜索
    版權(quán)聲明:如果計算機等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@lyawyb.com,我們將會及時處理。如轉(zhuǎn)載本計算機等級考試網(wǎng)內(nèi)容,請注明出處。