java - 如何立即执行 Java 程序,然后按照定义使用 Job 执行程序
问题描述
我正在尝试立即执行 java 程序,然后使用我在代码中定义的作业(调度程序)执行程序,现在我的调度程序每天从上午 9:00 到晚上 9:00 执行。我能怎么做?
这是我的java代码
public class FirstMainClassJob {
private static Logger log = Logger.getLogger(FirstMainClassJob.class);
static HelperUtl helperUtl = new HelperUtl();
// Fire between 09AM and 09PM every day
public static Trigger fireBetween9To9EveryDay() throws ParseException, SchedulerException, IOException {
String jobTime=helperUtl.getProperty("CRON_JOB_TIME");
log.info("Application running time is "+jobTime);
JobDetail job1 = JobBuilder.newJob(GoogleDriveApiQuickstart.class).withIdentity("fireBetween9To9EveryDay", "group1").build();
Trigger trigger = TriggerBuilder.newTrigger().withIdentity("fireBetween9To9EveryDay", "group1")
.withSchedule(CronScheduleBuilder.cronSchedule("0 0 "+jobTime+" * * ?")).build();
Scheduler scheduler1 = new StdSchedulerFactory().getScheduler();
scheduler1.start();
scheduler1.scheduleJob(job1, trigger);
return trigger;
}
public static void main(String[] args) throws ParseException, SchedulerException, IOException {
FirstMainClassJob.fireBetween9To9EveryDay();
}
解决方案
您可以使用
Trigger trigger = TriggerBuilder.newTrigger().withIdentity("fireOnceAtStart", "group1")
.withSchedule(SimpleScheduleBuilder.simpleSchedule().withRepeatCount(1)).build();
一开始就执行它。
推荐阅读
- python - Python BigQuery 存储。并行读取多个流
- c# - 使用 Blazor 客户端应用程序实现事件订阅
- kubernetes - 节点池与一个池中的节点数
- java - 覆盖 Eclipse 4 应用程序中的视图
- c++ - 关于模板化函数上传递的右值引用和左值传递参数的歧义
- java - 我有以下错误:android.os.Bundle android.content.Intent.getExtras()' 在空对象引用上
- r - 如何使用 pickerInput 进行 SHIFT 选择
- git - Git: Use two branches with same name from different remotes
- tomcat - tomcat.util.scan.DefaultJarScanner.jarsToSkip 属性不起作用
- mysql - 通过多列mysql获取记录组