首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Spring的两种定时任求实现

2012-10-09 
Spring的两种定时任务实现方法一 利用Timer开发定时任务分两步:第1步 创建定时任务类;第2步 运行定时任务。

Spring的两种定时任务实现

方法一 利用Timer开发定时任务

分两步:

第1步 创建定时任务类;

第2步 运行定时任务。

????????? 分两种运行方式:1)程序直接启动;

????????????????????????????????? 2)web监听方式。

?

1)创建定时任务类示例代码如下:

package com.gc.action;import java.util.TimerTask;class MainTask extends TimerTask{public  void run() {System.out.println("Hello World!");}}

?2)运行定时任务。

?????? (1)程序直接启动方式。

package com.gc.action;import java.util.Timer;class Main {public static void main(String[] args) {System.out.println("1Hello World!");Timer timer = new Timer();timer.schedule(new MainTask(),0,1*1000);System.out.println("2Hello World!");}}

?代码说明:timer.schedule()方法参数说明——timer.schedule(定时任务类, 首次启动时间, 间隔时间).这样每过一个间隔时间就运行一次定时任务类代码。

?

运行结果:

D:\java\editplus>java com.gc.action.Main1Hello World!2Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!……

?

? (2)web监听方式启动。

?

package com.gc.action;import java.util.Timer;class  BindLoader implements ServletContextListener{private Timer timer = null;//监听器初始化时执行事件public  void contextInitialized(ServletContextEvent sce){timer = new Timer();timer.schedule(new MainTask(),0, 1*1000);System.out.println("Hello World!");}//监听器停止时执行事件public void contextDestroyed(ServletContextEvent sce){timer.cancel();}}

代码说明:监听器必须实现javax.servlet.ServletContextListener接口。

另外需要在web.xml中配置监听类。

<listener>    <listener-class>com.gc.action.BindLoader</listener-class></listener>

?

方法二、Quartz方法实现定时任务。

?

?

?

?

?

?

热点排行