java定时任务

1.监听类继承ServletContextListener

public class MyListen implements ServletContextListener {

private UserMemberService userMemberService;//需要调用的对象

Calendar calendar = Calendar.getInstance(); 

private Timer timer = null;

@Override

public void contextInitialized(ServletContextEvent sce) {

//获取对象,此处对象不能直接bean注入获得,因为spring容器不支持多线程的注入

userMemberService = WebApplicationContextUtils.getWebApplicationContext(sce.getServletContext()).getBean(UserMemberService.class);

//设置每天定时执行时间

calendar.set(Calendar.HOUR_OF_DAY, 24); 

calendar.set(Calendar.MINUTE,0); 

calendar.set(Calendar.SECOND, 0); 

Date time = calendar.getTime();

timer = new Timer(true);

timer.schedule(new MyTask(userMemberService), time);

}

@Override

public void contextDestroyed(ServletContextEvent sce) {

timer.cancel();

}

}

2.

public class MyTask extends TimerTask {

private UserMemberService userMemberService;

public MyTask(UserMemberService userMemberService) {

    this.userMemberService = userMemberService;

  }

@Override

public void run() {

System.out.println(userMemberService==null);//判断对象是否实例化

userMemberService.updateMember();//调用自己的对象方法

}

}

3.web.xml配置监听器

<listener>

<listener-class>

com.huihe.gt.controller.user.member.MyListen

</listener-class>

</listener>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文包括:1、Listener简介2、Servlet监听器3、监听三个域对象创建和销毁的事件监听器4、监听三个域对...
    廖少少阅读 6,157评论 6 28
  • 前言 在实际项目开发中,除了Web应用、SOA服务外,还有一类不可缺少的,那就是定时任务调度。定时任务的场景可以说...
    张丰哲阅读 29,989评论 15 57
  • 更多 Java 高级知识方面的文章,请参见文集《Java 高级知识》 任务调度是指基于 给定时间点,给定时间间隔 ...
    专职跑龙套阅读 8,338评论 0 7
  • Polyvore是一款个性时尚的购物App,你可以在这里寻找穿衣搭配灵感,同时也会收获各种潮流新品。这款App对新...
    anny丹阅读 394评论 0 2
  • 就在刚刚,微博上关于女演员张馨予的负面新闻再一次甚嚣尘上了。 清清楚楚的动图,难以推脱的事实,让人震惊。 类似的新...
    lane关关阅读 660评论 0 0