开发界
首页 移动开发 在线交易 IT笔记 网络技术 操作系统 企业架构 数据库 考试认证 IT培训 开源软件 数据存储 行业资讯
大家都在看:java   开发   C#   oracle   mysql   android   web开发   学习   sqlserver   linux   asp   php   ajax   javascript   css   html
java定时器例子 (一)
2013-03-06 15:43:27 来源:开发界 作者:admin 栏目:Java语言 责任编辑:admin
[导读]java定时器例子

Java代码 
package com.jit.util;  
 
import java.io.IOException;  
 
import javax.servlet.ServletContext;  
import javax.servlet.ServletException;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
 
public class KQServlet extends HttpServlet {  
 
    private static final long serialVersionUID = 1L;  
 
    public KQServlet() {  
        super();  
    }  
 
    @Override 
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)  
            throws ServletException, IOException {  
 
    }  
 
    @Override 
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)  
            throws ServletException, IOException {  
        doGet(req, resp);  
    }  
 
    @Override 
    public void destroy() {  
        super.destroy();  
    }  
 
    @Override 
    public void init() throws ServletException {  
        // 启动定时器  
        System.out.println("启动定时器");  
        String hour = (String) this.getServletConfig().getInitParameter("Time");  
        new KQTaskManager(hour);  
    }  
 

package com.jit.util;

import java.io.IOException;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class KQServlet extends HttpServlet {

 private static final long serialVersionUID = 1L;

 public KQServlet() {
  super();
 }

 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {

 }

 @Override
 protected void doPost(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
  doGet(req, resp);
 }

 @Override
 public void destroy() {
  super.destroy();
 }

 @Override
 public void init() throws ServletException {
  // 启动定时器
  System.out.println("启动定时器");
  String hour = (String) this.getServletConfig().getInitParameter("Time");
  new KQTaskManager(hour);
 }

}

Java代码 
package com.jit.util;  
 
import java.util.Calendar;  
import java.util.Date;  
import java.util.Timer;  
 
public class KQTaskManager {  
    private static final long PERIOD_DAY = 1000 * 60*60*24;  
 
    public KQTaskManager(String hour) {  
        Calendar cal = Calendar.getInstance();  
        cal.set(Calendar.HOUR_OF_DAY, Integer.valueOf(hour));  
        cal.set(Calendar.MINUTE, 0);  
        cal.set(Calendar.SECOND, 0);  
        Date date = cal.getTime();  
        // 如果第一次执行定时任务的时间 小于 当前的时间  
        // 此时要在 第一次执行定时任务的时间 加一天,以便此任务在下个时间点执行。如果不加一天,任务会立即执行  
        if (date.before(new Date())) {  
            date = this.addDay(date, 1);  
        }  
        Timer timer = new Timer();  
        // 将任务实例化  
        KQTask task = new KQTask();  
        // 将任务装载到任务调度中  
        System.out.println("将任务装载到任务调度中!!");  
        timer.schedule(task, date, PE

版权所有:转载请注明出处!
分享到:
上一篇java 解析 xml 下一篇Think in Java - Chatpter 5 隐藏..
您可能还喜欢
今日最新资讯 最新推荐信息
考试认证 更多
开发技术 更多
移动开发 更多

关于开发界 | 合作伙伴 | 联系我们 | 友情链接 | 版权声明 | 网站制作 | 网站地图 | 加入收藏 | 设为首页

Copyright@2012-2016 开发界 京ICP备12027873号