java定时器问题 ,实现每天指定时间执行任务

问题描述

java定时器问题 ,实现每天指定时间执行任务

我想让tomcat启动的时候执行一次,然后每天的凌晨1点执行一次 ,可是tomcat启动的时间不固定 ,不一定是1点,,,,,,,,,怎么实现呢?

解决方案

tomcat启动时最简单的就是web.xml配置一个servlet,启动时执行代码就行了。
1点钟的定时该怎么配就怎么配

解决方案二:

在tomcat启动你的servlet时,第一次启动你的定时器,并且这个时候,你的代码要捕捉当前的时间,然后利用当前的时间来计算凌晨1点的时间,然后设置好定时器的周期即可。
比如现在是早上8点,那明天凌晨1点的时间就可以获得,如果现在是晚上8点,明天凌晨1点时间也可以获得,获得这个时间之后,就可以了

解决方案三:

可以使用spirng 实现spring-beans-?jar的org.springframework.beans.factory.InitializingBean接口实现afterPropertiesSet()方法,tomcat启动,spring容器加载执行此方法,可以在此方法中添加初始化一些资源等定制功能或者你说的执行任务.然后定时任务可以用quartz,spring有很好的支持

解决方案四:

解决方案五:

这种定时任务,使用Quartz框架来做最好。

时间: 2025-01-19 03:30:11

java定时器问题 ,实现每天指定时间执行任务的相关文章

sql语句延时执行或者是指定时间执行

--使用waitfor语句延迟或暂停程序的执行 --waitfor{delay'time'|time 'time'} delay是指间隔时间 最长到24小时 time是指定时间执行   waitfor delay '00:00:10' --延迟10秒 A. 使用 WAITFOR TIME 以下示例在晚上 10:20 (22:20) 执行存储过程 sp_update_job. 复制代码 USE msdb; EXECUTE sp_add_job @job_name = 'TestJob'; BEGI

Python小任务 - 如何编写指定时间执行的Python小程序

我们在平时的工作中经常会遇到这样的需求,需要再某个时间点执行一段程序逻辑. 那么,在python中我们是怎么做的呢? 下面看代码: waitDesignatedTimeToRun.py import time, datetime startTime = datetime.datetime(2016, 6, 8, 16, 45, 0) print('Program not starting yet...') while datetime.datetime.now() < startTime: ti

在指定时间干,必须干(kbmmw 中的事件调度)

    从去年开始,kbmmw 慢慢增加内涵,除了完善各种服务外,陆续增加和扩展了作为一个中间件必须有的功能, 例如,权限管理.日志系统.调度系统.内存调试等功能.     今天给大家介绍一下kbmmw 的调度事件,调度事件的主要目标就是"在指定时间干,必须干",不是"爱干"不干,是"必须干" :). 在传统的delphi 中事件调度室通过两种方式,一种方式通过Ttimer 来实现,(我20年做的母校的食堂餐饮消费系统就是通过Ttimer来轮询

java web-javaweb定时器问题,不同的时间弹框提醒不同的用户!

问题描述 javaweb定时器问题,不同的时间弹框提醒不同的用户! 数据库里有这样的数据很多条,以10条为例吧: 用户名(a,b,c.....),弹框信息(......),弹框提醒时间(.......). 用java定时器去实现,在弹框提醒时间到达时弹框显示信息给指定用户,这个应该怎么做才好呢?一个个的加任务,如果数据条数很多,时间又都是n天后,那样会不会对系统速度有影响? 解决方案 写一个任务,执行的时间使用执行间隔时间来然所有的规定的时间任务都会被执行就如数学中的公因数或公约数,然后现在弹框

获取焦点时,利用js定时器设定时间执行动作_javascript技巧

进入正题,先说说定时器. 在javascritp中,有两个关于定时器的专用函数,分别为: 1.倒计定时器:timename=setTimeout("function();",delaytime); 2.循环定时器:timename=setInterval("function();",delaytime); 第一个参数"function()"是定时器触发时要执行的动作,可以是一个函数,也可以是几个函数,函数间用":"隔开即可.比

java日期时间问题-为何指定时间加上1小时,个别会出错?

问题描述 为何指定时间加上1小时,个别会出错? 为了说明问题,请看下面一小段代码 import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Cs { public static void main(String[] args) { Simpl

java定时器使用

定时器类Timer在java.util包中.使用时,先实例化,然后使用实例的schedule(TimerTask task, long delay)方法,设定指定的任务task在指定的延迟delay后执行.定时器任务类TimerTask是抽象类,继承并重写其run()方法,可实现具体任务. schedule(TimerTask task, Date time)设定指定任务task在指定时间time执行. cancel()方法结束这个定时器. schedule(TimerTask task, lo

java定时器的具体使用和web使用

 公司部分项目提出将某些项目进行静态化...所以在测试页面命中率和数据库访问量之后针对某些写的频率比较低和访问比较大页面进行静态化.当然也不是进行实时的静态化.这里需要使用定时器来进行静态化的控制.下面了解一下定时器的应用!1.具体方法的了解   (1)Timer.schedule(TimerTask task,Date time)//安排在制定的时间执行指定的任务.   (2)Timer.schedule(TimerTask task,Date firstTime ,long period)/

android-Android sqlite 如何将数据在指定时间插入数据库中?

问题描述 Android sqlite 如何将数据在指定时间插入数据库中? 如题,怎么将数据在指定时间内插入数据库? 我想做一个查看历史记录的东西 每天采集的数据按时插入数据库 怎么做?求大神解答. 另:自己写的代码哪里有问题? String time = new SimpleDateFormat("hhmmss").format(new Date()); String date = new SimpleDateFormat("yyyy-MM-dd").format