• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    在Weblogic中使用定時器(commonj Timer for weblogic server)

    發布: 2007-6-22 07:38 | 作者: nizhigang2000  | 來源:   | 查看: 17次 | 進入軟件測試論壇討論

    領測軟件測試網

       

    1.簡介
      由于J2EE規范的限制,在Servlet和EJB中執行用戶自定義的多線程并發與定時器服務一直以來是困擾J2EE開發人員的一個大問題。
    現在CommonJ項目中的Work Manager和Timer規范將是解決這些問題的一個優秀方法!
          CommonJ 定時器(Timer)規范提供了一個在Servlet和EJB中設置定時器的簡單方法,同時允許在Servlet和EJB中響應定時器的提醒。該規范提供了一個在不能或者不方便使用java.util.Timer環境中使用定時器功能的替代方法。

      現在在WebLogic Server 9.0中已經提供了對Work Manager和Timer規范的支持,在WebLogic Server 7和8中需要使用該項功能請參考這里,xcommonj-work。

      關于Work Manager和Timer規范的更多信息請訪問這里:Timer and Work Manager for Application Servers。

          在J2EE中使用 Work Manager 規范執行并行任務,請訪問這里:http://dev2dev.bea.com.cn/techdoc/200508631.html

       Commonj定時器的參考請見這里:http://dev2dev.bea.com.cn/techdoc/20051221711.html
    2.定時器的使用辦法:
    (1)在web.xml或者ejb-jar.xml中增加定時器的描述:
     <resource-ref>
        <res-ref-name>timer/MyTimer</res-ref-name>
        <res-type>commonj.timers.TimerManager</res-type>
        <res-auth>Container</res-auth>
        <res-sharing-scope>Unshareable</res-sharing-scope>
      </resource-ref>
    (2)定義定時器到時間的回調類:
    import commonj.timers.*;
    public class TestListener
        implements TimerListener
    {
        public TestListener()
        {
        }
      
        public void timerExpired(Timer timer)
        {
            System.out.println("TimerExpired.");
        }
    }
    (3)在其它任何地方啟動定時器,并設置定時器的任務即可實現定時功能了。
           InitialContext ctx = new InitialContext();
                TimerManager mgr = (TimerManager)ctx.lookup("java:comp/env/timer/MyTimer");
                TimerListener listener = new TestListener();
                mgr.schedule(listener,4000);//定時器執行一次
                mgr.scheduleAtFixedRate(listener,5000,2000);//定時器周期執行
                //按照日歷來執行定時器
                Calendar cal = Calendar.getInstance();
                cal.set(Calendar.HOUR, 12);
                mgr.schedule(listener, cal.getTime());

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>