java的石英调度在特定时间
例如,我想编写一个Java程序打印的“Hello World”在每天上午12点运行,我该如何使用Quartz调度来实现这一目标?java的石英调度在特定时间
Trigger trigger = TriggerUtils.makeDailyTrigger(0, 0); trigger.setName("trigger1");
trigger.setGroup("group1");
是这样的?我应该在哪里打印“hello world”方法?
回答:
你可以使用一个表达式来调度作业的执行。例如: -
public static class HelloJob implements Job { @Override
public void execute(JobExecutionContext ctx) throws JobExecutionException {
System.out.println("Hello World");
}
}
public static void main(String[] args) throws SchedulerException {
String exp = "0 0 0 1/1 * ? *";
SchedulerFactory factory = new StdSchedulerFactory();
Scheduler scheduler = factory.getScheduler();
scheduler.start();
JobDetail job = JobBuilder.newJob(HelloJob.class).build();
Trigger trigger = TriggerBuilder.newTrigger()
.startNow()
.withSchedule(
CronScheduleBuilder.cronSchedule(exp))
.build();
scheduler.scheduleJob(job, trigger);
}
见http://www.cronmaker.com/用于构建另一种表达。例如0 0/1 * 1/1 * ? *
每分钟查看一次输出。另见Cron Expressions
。
回答:
你必须创建通过实现Job接口,并提供你的执行method.In执行方法的实现自定义的作业可以打印的“Hello World”。然后,你可以安排你的工作是这样
scheduler.scheduleJob(job, trigger);
一步的详情,请参阅此链接步: Quartz tutorial
回答:
您可以创建此cron表达式。有石英工作,你需要具备以下对象
- 工作
- 任务将被关联到工作
- 最后创建触发器和工作的触发
触发器的关联两个式
简单的触发器,在那里你可以控制工作,你可以运行每分钟或10分钟等。你也可以有额外的参数
initial delay - to kick off repeatcount - no of times the job should be executes, if -1 then job will be executed infinitely
在你的情况,你可以使用cron触发器,因为你想每天上午12点运行。
对于以下链接
http://www.mkyong.com/spring/spring-quartz-scheduler-example/
约石英cron表达式的详细信息和示例程序看看这个,看看石英文档
http://quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger
回答:
- 下载石英罐中放lib文件夹构建项目
创建类(工作),从中要安排任务
import org.apache.log4j.Logger;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class MyJob implements Job {
private Logger log = Logger.getLogger(MyJob.class);
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
log.debug("Hi....");
System.out.println("Corn Executing.....");
}
}
的日程表你的任务
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;
public class JobScheduler {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
JobDetail job = JobBuilder.newJob(MyJob.class).withIdentity("myjob").build();
Trigger trigger = TriggerBuilder.newTrigger().withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(30).repeatForever()).build();
SchedulerFactory schFactory = new StdSchedulerFactory();
Scheduler scheduler = schFactory.getScheduler();
scheduler.start();
scheduler.scheduleJob(job, trigger);
}catch (SchedulerException e) {
e.printStackTrace();
}
}
}
以上是 java的石英调度在特定时间 的全部内容, 来源链接: utcz.com/qa/258478.html