Springmvcフレームワークの3種類のタイマの書き方(Quartzタイマを除く)

2659 ワード

Springmvcフレームワークの3つのタイマ構築方法:
1.tomcatタイマ、リスナーインタフェースを実装し、TimerTaskクラスを継承し、runメソッドを実装
1).クラス書き換えTimerTask runメソッドを作成します.
   class MyTask extends TimerTask{  

            @Override  

            public void run() {  
                // :
                // spring , bean , bean new

                System.out.println("hello greatjone !");  

            }  

        }  

2).Listenerクラスを作成してサービス・コンテクスト・リスター・インタフェースを実装
 public class MyTimerTask implements ServletContextListener  

    {  

        private Timer timer = null;  

        public void contextDestroyed(ServletContextEvent event)  

        {  

            timer.cancel();  

            event.getServletContext().log(" ");  

        }  

        public void contextInitialized(ServletContextEvent event)  

        {  

            timer = new Timer(true);  

            event.getServletContext().log(" ");// , tomcat   

            Date date;  

            try {  

                date = new SimpleDateFormat("yyyy-MM-dd mm:ss").parse("2011-08-29 17:46");  
               // timertask , , : 。
                timer.schedule(new MyTask(),date,1*60*1000);  

            } catch (ParseException e) {              

                e.printStackTrace();  

            }  

        }  


3)最後のステップはwebです.xmlファイルにリスナーを登録する
リスニングクラスの全クラス名(ステップ2の実装インタフェースの疲れ)
2.springフレームワークでタイマー機能を実現する:第2の第3のリリースはspringベースの呼び出し可能なspringコンテナであり、1つは注釈ベースの1つはプロファイルベースのものであり、まず注釈ベースの方法を紹介する
タイミングタスクをspringコンテナに登録する必要があります
1. spring 
xmlns:task="http://www.springframework.org/schema/task" 
http://www.springframework.org/schema/task  
http://www.springframework.org/schema/task/spring-task-3.2.xsd

2.spring 

3. 


そしてタイミングタスクの作成
クラス名にspringコンテナ注記を追加:@Component(@Service)
@Scheculed注記をタイミング実行が必要なメソッドに追加
@Scheduled(cron=“0/30 * * * * ?)//cron式の使い方は次のように参照できます.http://biaoming.iteye.com/blog/39532
public void test(){
}
 
3).3つ目はプロファイルベースspringタイマの使い方です
最初のステップ
1. spring 
xmlns:task="http://www.springframework.org/schema/task" 
http://www.springframework.org/schema/task  
http://www.springframework.org/schema/task/spring-task-3.2.xsd

2.spring bean task 


 



3つ目の方法は、プロファイルのみで構いません.ただし、springbeanの要求と同様に、パラメータ構築方法の有無、newの他のオブジェクトは必要ありません.