使用ServletContextListener完成定时任务(固定频率执行)

来源:互联网 发布:网络交换机的安装 编辑:程序博客网 时间:2024/06/06 23:50

ServletContextListener在服务器启动的时候就会执行,这时候可以在里面写一些定时执行任务

这里进行模拟银行计息

首先创建一个类实现ServletContextListener接口,在contextInitialized()方法中写入想要执行的代码

第二进行web.xml配置监听器


  <listener>    <listener-class>com.raylu.listener.MyContextListener</listener-class>  </listener>

这里模拟定时执行计息的:

package com.raylu.listener;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Timer;import java.util.TimerTask;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;/** * 使用ServletContextListener完成定时任务 * 这里模拟银行定时计息任务 * @author RayLu * */public class MyContextListener implements ServletContextListener{@Overridepublic void contextInitialized(ServletContextEvent sce) {//设置一个计时器模拟银行计息工作Timer timer = new Timer();String date="2017-06-05 21:39:00";SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date1 = null;try {date1 = format.parse(date);} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}timer.scheduleAtFixedRate(new TimerTask(){@Overridepublic void run() {//System.out.println("开始算利息!!"+format.format(new Date()).toString());}}, date1, 3000);}@Overridepublic void contextDestroyed(ServletContextEvent sce) {// TODO Auto-generated method stub}}


阅读全文
0 0