-
首先需要先建立一个实际的事物,即你想要干什么,比如说输出aaa三个字母。它怎么样被调度以后再说,但是先把输出三个字母的类建立。
1234567891011121314package
scheduler;
import
org.quartz.Job;
import
org.quartz.JobExecutionContext;
import
org.quartz.JobExecutionException;
public
class
myJob
implements
Job{
@Override
public
void
execute(JobExecutionContext arg0)
throws
JobExecutionException {
System.out.println(
"aaa"
);
}
}
2.这是任务调度的代码,下面会有仔细的讲解
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
package scheduler;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SimpleTrigger;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.TriggerBuilder.newTrigger;
import static org.quartz.CronScheduleBuilder.cronSchedule;
public class simpleTriggerRunner {
private static String JOB_GROUP_NAME = "EXTJWEB_JOBGROUP_NAME" ;
private static String TRIGGER_GROUP_NAME = "EXTJWEB_TRIGGERGROUP_NAME" ;
/**
* @param args
*/
public static void main(String[] args) {
try {
//得到默认调度器
Scheduler sc=StdSchedulerFactory.getDefaultScheduler();
//启动调度器
sc.start();
//新建一个jobdetail, 参数分别是id和name,这个在实际项目的时候很有用,注意此处的语法
JobDetail jd=newJob(myJob. class ).withIdentity( "zhoujie" ,JOB_GROUP_NAME).build();
//新建一个trigger,参数分别是id和name,注意此处语法
Trigger trigger1=(SimpleTrigger)newTrigger().withIdentity( "zhoujie" ,TRIGGER_GROUP_NAME).build();
//cron表达式,每隔5s执行一次
String cron = "0/5 * * * * ?" ;
//注意此处语法
Trigger trigger2=newTrigger().withIdentity( "zhoujie" ,TRIGGER_GROUP_NAME).withSchedule(cronSchedule(cron)).build();
//scheduler开始调度
sc.scheduleJob(jd, trigger2);
} catch (SchedulerException e) {
e.printStackTrace();
}
}
} |
3.讲解:
开始执行,会出现这样的错误:Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
出现这个问题说明少了jar包,导入slf4j-api-1.7.5.jar和slf4j-log4j12-1.7.5.jar依然报错,错误为:
Failed to instantiate SLF4J LoggerFactory
Reported exception:
java.lang.NoClassDefFoundError: org/apache/log4j/Level
查阅资料,发现缺少log4j.jar
运行就不会出现错误。
4. line:25 如果不启动的话将不会进行任务调度
line:27 此处newJob(class)需要静态导入import static org.quartz.JobBuilder.newJob;
line:29 此处newTrigger()需要静态导入import static org.quartz.TriggerBuilder.newTrigger;
line:33 由于此处使用了cron表达式多了一个.withSchedule(cronSchedule(cron)),需要静态导入import static org.quartz.CronScheduleBuilder.cronSchedule;
5.最后开始调度 sc.scheduleJob(jd, trigger2); 将 jobDetail和trigger当做参数传入变可以每5s进行一次调度
相关推荐
在这个Quartz入门例子中,可能包含了一个名为`QuarzTest`的类或配置文件,它是实际运行的入口。通过分析和运行这个例子,你可以了解到如何在Spring中配置和使用Quartz,以及如何创建和调度Job。 学习Quartz时,你...
二、Quartz入门 1. **创建作业**:首先,你需要创建一个实现了`org.quartz.Job`接口的类,这个类就是你的任务逻辑。在`execute()`方法中编写实际的业务代码。 2. **定义触发器**:接着,定义一个触发器,设置执行...
通过阅读 "quartz入门共3页.pdf",你将能够快速了解 Quartz 的基本概念和用法,为实际项目开发打下基础。文件可能涵盖了 Quartz 的安装、基本示例、API 使用方法等内容,帮助你快速上手并掌握这个强大的任务调度库。
"Quartz入门.html"这个文档可能详细介绍了如何设置和启动一个简单的Quartz调度程序。通常,你需要创建一个Job类,该类实现了`org.quartz.Job`接口,并重写了`execute`方法,这是实际执行的任务逻辑。然后,你可以...
在"Quartz入门案例"中,我们通常会首先创建一个Job类,该类实现了`org.quartz.Job`接口。这个接口只有一个方法`execute(JobExecutionContext context)`,我们在其中编写实际的任务逻辑。例如: ```java public ...
【标题】"Quartz入门Demo"是一个非常适合初学者的实践项目,它旨在引导开发者了解和掌握Quartz这个强大的任务调度框架。Quartz是Java平台上广泛使用的开源任务调度库,能够帮助开发者实现应用程序中的定时任务执行。...
Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群...
Spring集成quartz跑定时任务实例 自己写的例子并为实现job 有测试的主函数,请参考...springCon.quartz文件夹下 为对上诉博客理解透彻 结合spring看其配置的相关信息 就可以明白。
Quartz入门到精通 Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如...
NULL 博文链接:https://aiien007.iteye.com/blog/2105833
简单介绍quartz用法,介绍quartz用法步骤
3. **Quartz入门** - **创建Job类**:你需要创建一个实现了`org.quartz.Job`接口的类,这个类定义了具体要执行的任务。 - **定义Trigger**:你可以选择不同的`Trigger`类型,如SimpleTrigger或CronTrigger,来决定...
在《Quartz入门》文档中,通常会详细讲解如何配置Quartz,包括XML配置、代码配置,以及如何处理并发问题、异常处理和集群部署。确保阅读并理解这些内容,以便更好地在实际项目中应用Quartz。 总之,Quartz是一个...
"Quartz入门与提高1.ppt"可能是一个幻灯片教程,涵盖了从基础到进阶的Quartz使用。"定时任务Test.rar"可能包含了一些测试用例或示例代码,有助于理解实际应用场景。"网站地址.txt"可能提供了更多资源链接,而"quartz...