• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Spring监听器及定时任务实现方法详解

java 搞代码 4年前 (2022-01-05) 51次浏览 已收录 0个评论

这篇文章主要介绍了Spring监听器及定时任务实现方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

背景:在原SSM项目中,拟定在每晚的23:59:59执行一个批处理任务。

设计思路:用jdk自带的定时器触发任务执行,设置下次执行间隔为24小时。定时任务由spring的监听器去启动。

jdk版本:1.8.0

上代码

web.xml,添加监听

  com.test.listener.Listener

添加监听类

 import com.test.timmer.TimmerTest; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import java.util.Calendar; import java.util.Timer; public class Listener implements ServletContextListener { public void contextInitialized(ServletContextEvent sce) { System.out.println("启动监听。。。。。。。。。。。。。。。。。"); //定时器 Timer timer = new Timer(); //定时任务对象 TimmerTest task = new TimmerTest(); //指定到23:59:59 Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY,23); calendar.set(Calendar.MINUTE,59); calendar.set(Calendar.SECOND,59); //每天的23:59:59秒执行任务,下次执行延迟时长为24小时 timer.schedule(task, calendar.getTime(), 24*60*60*1000); } public void contextDestroyed(ServletContextEvent sce) { } }

添加定时任务实例,jdk的定时任务类需继承 java.util.TimerTask 抽象类

 package com.test.timmer; import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimerTask; public class TimmerTest extends TimerTask { public void run() { Date dt = new Date(); <em style="color:transparent">来源gao.dai.ma.com搞@代*码网</em>SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒"); System.out.println(sdf.format(new Date())+",执行定时任务"); } }

以上就是Spring监听器及定时任务实现方法详解的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Spring监听器及定时任务实现方法详解

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址