Java 如何实现这样的quartz实现定时任务务

没有更多推荐了,
不良信息举报
举报内容:
java项目设置定时执行任务的几种方式
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!13:11 提问
java有关一个动态定时任务的需求求助
每天都要在某个时间执行一个任务 这个时间是 动态的 从数据库取的
比如今天是要在22点45分15秒执行一个任务 明天的这个时间是
23点45分11秒 以此类推 每天都会有一个动态的时间任务
请问这个怎么用java实现
貌似quartz实现不了
按赞数排序
用java的定时器可以实现,但是需要用两个定时器。一个每日执行,一个每秒执行。
实例代码:Task是最终的任务;SheduledTask接收任务时间,每隔一秒匹配一下当前时间,如果匹配就执行Task;
还有一个日定时器,可以设置每天0点执行,从数据库获取当日的任务时间,启用秒定时器。
public class Task implements Runnable{
public void run() {
System.out.println("do task.");
秒定时器:
import java.text.SimpleDateF
import java.util.D
import java.util.concurrent.E
import java.util.concurrent.ScheduledExecutorS
import java.util.concurrent.TimeU
* 定时器:接收一个时间,然后每隔开一秒比对是否是任务执行时间,如果是则执行任务
* @author bh
public class SheduledTask implements Runnable{
//需要执行的任务
private S//任务执行的时间
//定时器每隔一秒执行run方法
private ScheduledExecutorService service = Executors.newScheduledThreadPool(2);
public SheduledTask(Task task,String time){
this.task =
this.time =
public void run() {
//判断当前时间是否为执行时间,如果是则执行任务,结束后关闭定时器
System.out.println("每秒钟定时任务:比对任务时间,如果匹配则执行任务...");
String now = nowAsString();
if(now.equals(time)){
this.task.run();
service.shutdown();
public void execute(){
service.scheduleAtFixedRate(this, 0, 1, TimeUnit.SECONDS);
String nowAsString() {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 设置日期格式
return df.format(new Date()).toString();
日定时器:
import java.util.concurrent.E
import java.util.concurrent.ScheduledExecutorS
import java.util.concurrent.TimeU
* @author bh
public class DailyTask implements Runnable{
public void run() {
//定时生成一个任务时间
System.out.println("每日定时任务...");
//此次时间从数据库获取
String time = " 15:01:30";
Task task = new Task();
new SheduledTask(task,time).execute();
public static void main(String[] args) {
ScheduledExecutorService service = Executors.newScheduledThreadPool(2);
DailyTask dailyTask= new DailyTask();
//每天凌晨执行当日定时任务
service.scheduleAtFixedRate(dailyTask, 0, 1, TimeUnit.DAYS);
用Quartz,这个框架专门帮你干这个的,具体google下
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐09:28 提问
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框架来做最好。
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐没有更多推荐了,
不良信息举报
举报内容:
java实现定时任务的三种方法
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!Java实现定时任务的三种方法_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Java实现定时任务的三种方法
&&Java实现定时任务的三种方法
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩1页未读,
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 java如何实现定时任务 的文章

 

随机推荐