JavaWebの3つの一般的なタイミングタスクの簡単な例

5410 ワード

一、JavaWebプロジェクトにjavaが持参したタイマーTimer
//(1)、    :
	package com.sundy.task;
 
	import java.util.Timer;
	import java.util.TimerTask;
 
	import javax.servlet.ServletContextEvent;
	import javax.servlet.ServletContextListener;
 /**
 *
 * java      Timer
 *   ServletContextListener   
 *
 * ServletContextListener    :   ServletContext        ,        Web        。
 * ServletContextListener          
 * 1)   Servlet     web     ,
 * 2)     Servlet     web     
 */
	public class MyTimerTask implements ServletContextListener{
		private Timer timer;
		@Override
		public void contextDestroyed(ServletContextEvent arg0) {
			if(timer!=null) timer.cancel();
		}
 
		@Override
		public void contextInitialized(ServletContextEvent arg0) {
			timer = new Timer();
			timer.schedule(new TimerTask() {
				
				@Override
				public void run() {
					work();
				}
			}, 1000, 15*1000);//      ,         。
		}
		
		private void work() {
			System.out.println("    ....");
		}
	}
//(2)、   web.xml   
	
		com.sundy.task.MyTimerTask
	

二、JavaWebプロジェクトにおけるSpringが持参するタイミングタスクの使用概要
1)、      
1.1、   JavaBean
	package com.sundy.task;
 
	public class MyTask {
		public void task(){
			System.out.println("    ...");
		}
	}
1.2、 applicationContext.xml      。
	
	
		
		
		  
			
			 
		 
	
1.3、 web     :
	
	
		contextConfigLocation
		classpath:applicationContext.xml
	
	
	
		org.springframework.web.context.ContextLoaderListener
	
(2)、     
2.1、   JavaBean
	package com.sundy.task;
 
	import org.springframework.scheduling.annotation.Scheduled;
	import org.springframework.stereotype.Component;
 
	@Component
	public class MyTask {
		@Scheduled(cron="*/5 * * * * ?")
		public void task1(){
			System.out.println("    ...");
		}
	}
2.2、 applicationContext.xml    
	
	      
          
          
	

三、タイミングタスクquartzの簡単な使用
(1)、      :http://www.quartz-scheduler.org/downloads/
	        Quartz    、            :http://blog.csdn.net/luo201227/article/details/37511137
(2)、        (  :http://veiking.iteye.com/blog/2371511)
1.1、   JavaBean
	package com.sundy.quartz;
 
	public class SimpleJob {
		public void runTask() {
			System.out.println("runTask()....");
		}
	}
1.2、Spring