问题描述
- 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