java spring定时任务如何使每次的启动时间点相同(活着每次启动后的查询时间相同)
如:第一次启动时间是05:00,第二次启动时间是06:00
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如:第一次启动时间是05:00,第二次启动时间是06:00
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(9)
会有延时的
quartz 表达式
不太懂你的意思
回复
是我搞复杂了你的问题。用Quartz应该能实现你的问题,定时任务启动时间不会有延时的。如果你要的是定时任务启动后再执行一些逻辑后的时间,由于每次执行逻辑的时间不同,可能会造成获取到的时间不同。如果任务是同步的,间隔时间过短可能会造成阻塞,产生“堆叠”问题,可以改成异步方式。
回复
<property name="concurrent" value="true" />你指的是这个配置吗?
回复
我说的是java中quartz纯粹的调用。至于spring对quartz的封装没有接触过,不过查阅了下,concurrent=true即为允许并发即异步方式,不会造成延时。
回复
我测试了下,还是有延迟的
把定时任务的执行逻辑设定为:销毁自己,新建一个定时任务,时间+T
按间隔一分钟,第一次启动查询数据时间是01:00,如何确保第二次的时间是02:00,