JavaWeb三种常用的定时任务简单示例

一、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配置文件
	
	
		
		 
		 
		 
			    
			    
			    
			   
		    
		    
		    
			  
			    
			  
		 
		  
		    
			    
				    
				   
				  
			    
		  
	

 

你可能感兴趣的:(javaWeb)