Quartz HelloJob

Cha*_*rew 19 java quartz-scheduler

我是Quartz的新手,我遇到了编译错误.我只是试图让HelloJob基于Quartz的第1课为Hello World运行.我在JobDetail使用错误声明a时遇到问题:The method newJob(Class<? extends Job>)在类型JobBuilder中不适用于参数(Class)".

原来,代码有3个错误的newJob,newTrigger以及simpleSchedule

// define the job and tie it to our HelloJob class
JobDetail job = newJob(HelloJob.class)
    .withIdentity("job1", "group1")
    .build();

// Trigger the job to run now, and then repeat every 40 seconds
Trigger trigger = newTrigger()
    .withIdentity("trigger1", "group1")
    .startNow()
    .withSchedule(simpleSchedule()
            .withIntervalInSeconds(40)
            .repeatForever())            
    .build();
Run Code Online (Sandbox Code Playgroud)

没有JobBuilder.newJob(...),TriggerBuilder.newTrigger(...),SimpleScheduleBuilder.simpleSchedule(...).与给出的示例不同,我继续添加导入并在newJob,newTrigger等前面附加类调用,从而消除了2/3错误.但似乎错误仍然存​​在

 JobDetail job = JobBuilder.newJob(HelloJob.class)
        .withIdentity("job1", "group1")
        .build();
Run Code Online (Sandbox Code Playgroud)

我也试过替换我的工作声明

JobDetail job = new JobDetail("job1", "group1", HelloJob.class);
Run Code Online (Sandbox Code Playgroud)

但这结束了Cannot instantiate the type JobDetail,似乎有一些例子可以做到这一点.

真的很感激澄清,

谢谢!

Mir*_*ate 39

你需要这行代码:

import static org.quartz.JobBuilder.*;
Run Code Online (Sandbox Code Playgroud)

然后应该工作.希望.

编辑:并确保'HELLOJOB'实施工作!

那里.


erh*_*hun 6

您需要为helloJob示例添加以下四个导入才能使用Quart 2.2.x.

import org.quartz.SimpleTrigger;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.SimpleScheduleBuilder.simpleSchedule;
import static org.quartz.TriggerBuilder.newTrigger;
Run Code Online (Sandbox Code Playgroud)