天天看点

java定时任务(三):timerTask定时任务

这种方式是纯粹的java代码,需要继承timertask接口并重写run方法,创建这个类的时候就会调用run方法。

基本的使用逻辑是:

把自己需要处理的业务逻辑放在自己写的这个继承了timertask的类中,然后new一个timer并调用schedule方法,在schedule中设定一个新的自己类的对象为参数,同时配置其他时间信息,示例如下:

上边的代码中sche类即自己所写的定时任务类,我是以内部类的方式声明。

之后在外部类scheduletest2的starttask方法中调用定时任务,每五秒执行一次。

因为仅仅是这样的话,程序启动时并不能触发我这个类,不能自动调用starttask方法,因此便让外部类实现了servletcontextlistener 监听器的接口,同时重写contextinitialized这个方法,以便于在web.xml中配置,让程序启动时便调用运行这个定时任务。

因此对应的web.xml代码便更改成下边的样子:

要说明以下的是,这里的spring2.xml在本示例中没有实质性的作用,只因为这个web程序需要一个初始加载文件,即原来的

applicationcontext.xml,因此这里就配置了一个除开开头和结尾什么都没有的文件,如下: