在tomcat中每月一号、每日、每分钟洎动执行指定的任务。
在tomcat中添加监听器,在监听器中设置定时任务
1.1:创建一个基准时间defaultdate(每日8点),用于参照在此时间以后的多长周期内执行操作。
task:TimerTask任务用内部匿名类的方式新建一个即可(当然也可以在外部类中建一个类,用于写任务写法麻烦点),实现run()方法在Run中写你要执行操作即可。
firstTime:任务首次执行时间当系统时间大于firstTime,会立即执行一次任务当系统时间小于firstTime,则等到时间等于firstTime时才执行所以用schedule实现定时任务,最重要的的就是控制这个firstTime
1.3 : 如何判断是每月1号?用Calendar的Calendar.DAY_OF_MONTH每月首天 返回值为1。每天都执行下判断到每月一号时,即可实现每月执行一次
// 当天8点(默认执行时间) // 若当前时间超过了defaultdate时间当天不再执行,则将执行时间sendDate改为明天8点 * 启动服务器后若此时時间没过8点,等待到了8点自动执行一次,15分钟后再执行一次周而复始 * 启动服务器后,若此时时间超过8点会立刻执行一次,等到15分钟後再次执行一次周而复始 到了第二天,不会再判断是否是8点这个开始时间,只会判断一次而已 * 启动服务器后若此时时间没过8点,等待到了8点自动执行一次,24小时后(第二天8点)再执行一次周而复始 * 启动服务器后,若此时时间已经超过8点则等到24小时后(第二天8点)才执行一次,周而复始 * 启动服务器后若此时时间没过8点,等待到了8点自动执行判断是否是当前月份的1号,若是则执行一次 * 24小时后(第二天8点)再执行一次判断(每月1号以后后的29天或30天后才会是下月1号,再执行一次)周而复始 启动服务器后,若此时时间已经超过8点会立刻执行一次,等到下个月1号再次执行一次周而复始 // 每天执行,若为每月1号才执行