У меня есть запущенный планировщик, и на нем выполняется одно задание. Это основной поток планировщика, который я буду запускать.
public class MyApp {
Scheduler scheduler1;
public static void main(String[] args) {
run();
}
public static void run(){
try {
JobDetail job = JobBuilder.newJob(Job.class)
.withIdentity("JoeyJob", "group1").build();
Trigger trigger1 = TriggerBuilder.newTrigger()
.withIdentity("cronTrigger1", "group1")
.withSchedule(CronScheduleBuilder.cronSchedule("0/10 * * * * ?"))
.build();
scheduler1 = new StdSchedulerFactory().getScheduler();
scheduler1.start();
System.out.println(scheduler1.getSchedulerInstanceId());
scheduler1.scheduleJob(job,trigger1);
Thread.sleep(1000000);
scheduler1.shutdown();
}
catch(Exception e){
e.printStackTrace();
}
}
Я хочу запустить еще одно задание с триггером в том же планировщике, но мне нужно получить к нему доступ из другого исполняемого файла Java, используя, возможно, имя планировщика или любой такой параметр. Я понимаю, что имя планировщика возвращает что-то вроде «defaultScheduler», а идентификатор экземпляра возвращает «NON_CLUSTERED». Мне нужно разработать приложение для запуска одного потока планировщика и постоянного добавления/удаления заданий обновления отправки электронных писем. Поскольку это будет инициализировано, используется сервлетом. Есть ли способ получить доступ к этому планировщику из памяти из другого исполняемого экземпляра. Это то, что я ищу.
public class Test {
public static void main(String[] args) throws SchedulerException {
run();
}
public static void run()throws SchedulerException{
JobDetail job = JobBuilder.newJob(Job2.class)
.withIdentity("Jake", "group2").build();
Trigger trigger1 = TriggerBuilder.newTrigger()
.withIdentity("cronTrigger2", "group1")
.withSchedule(CronScheduleBuilder.cronSchedule("0/2 * * * * ?"))
.build();
Scheduler scheduler= new StdSchedulerFactory().getScheduler("scheduler-name-something");
scheduler.scheduleJob(job,trigger1);
}
}
Есть ли способ использовать идентификатор экземпляра планировщика и имя планировщика для этого?