`
jiejiecool1992
  • 浏览: 2699 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Quartz入门

    博客分类:
  • java
阅读更多
  1. ​首先需要先建立一个实际的事物,即你想要干什么,比如说输出aaa三个字母。它怎么样被调度以后再说,但是先把输出三个字母的类建立。

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    package 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实例,quartz入门例子

    在这个Quartz入门例子中,可能包含了一个名为`QuarzTest`的类或配置文件,它是实际运行的入口。通过分析和运行这个例子,你可以了解到如何在Spring中配置和使用Quartz,以及如何创建和调度Job。 学习Quartz时,你...

    Quartz入门学习(真丶入门)

    二、Quartz入门 1. **创建作业**:首先,你需要创建一个实现了`org.quartz.Job`接口的类,这个类就是你的任务逻辑。在`execute()`方法中编写实际的业务代码。 2. **定义触发器**:接着,定义一个触发器,设置执行...

    quartz入门共3页.pdf.zip

    通过阅读 "quartz入门共3页.pdf",你将能够快速了解 Quartz 的基本概念和用法,为实际项目开发打下基础。文件可能涵盖了 Quartz 的安装、基本示例、API 使用方法等内容,帮助你快速上手并掌握这个强大的任务调度库。

    Quartz入门教程

    "Quartz入门.html"这个文档可能详细介绍了如何设置和启动一个简单的Quartz调度程序。通常,你需要创建一个Job类,该类实现了`org.quartz.Job`接口,并重写了`execute`方法,这是实际执行的任务逻辑。然后,你可以...

    Quartz入门案例

    在"Quartz入门案例"中,我们通常会首先创建一个Job类,该类实现了`org.quartz.Job`接口。这个接口只有一个方法`execute(JobExecutionContext context)`,我们在其中编写实际的任务逻辑。例如: ```java public ...

    quartz入门demo

    【标题】"Quartz入门Demo"是一个非常适合初学者的实践项目,它旨在引导开发者了解和掌握Quartz这个强大的任务调度框架。Quartz是Java平台上广泛使用的开源任务调度库,能够帮助开发者实现应用程序中的定时任务执行。...

    Quartz入门到精通 中文WORD版.rar

    Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群...

    quartz入门例子,spring集成配置使用

    Spring集成quartz跑定时任务实例 自己写的例子并为实现job 有测试的主函数,请参考...springCon.quartz文件夹下 为对上诉博客理解透彻 结合spring看其配置的相关信息 就可以明白。

    Quartz如何从入门到精通.pdf

    Quartz入门到精通 Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如...

    开源定时器quartz入门

    NULL 博文链接:https://aiien007.iteye.com/blog/2105833

    quartz入门用法

    简单介绍quartz用法,介绍quartz用法步骤

    quartz案例,包括spring配置设置调度器和入门手册

    3. **Quartz入门** - **创建Job类**:你需要创建一个实现了`org.quartz.Job`接口的类,这个类定义了具体要执行的任务。 - **定义Trigger**:你可以选择不同的`Trigger`类型,如SimpleTrigger或CronTrigger,来决定...

    Quartz所需jar包

    在《Quartz入门》文档中,通常会详细讲解如何配置Quartz,包括XML配置、代码配置,以及如何处理并发问题、异常处理和集群部署。确保阅读并理解这些内容,以便更好地在实际项目中应用Quartz。 总之,Quartz是一个...

    Srping Quartz 资料多多

    "Quartz入门与提高1.ppt"可能是一个幻灯片教程,涵盖了从基础到进阶的Quartz使用。"定时任务Test.rar"可能包含了一些测试用例或示例代码,有助于理解实际应用场景。"网站地址.txt"可能提供了更多资源链接,而"quartz...

Global site tag (gtag.js) - Google Analytics