2016-02-02 4 views
1

У меня есть планировщик запусков и на нем выполняется одно задание. Это основной поток планировщика, который я буду запускать.Динамическое добавление заданий к работающему планировщику Quartz из другого исполняемого файла

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); 
     } 
    } 

Есть ли способ использовать идентификатор экземпляра планировщика и имя планировщика для этого?

+0

У меня есть тот же вопрос ... Вы сделали какой-то прогресс? –

+0

@HugoZaragoza Пожалуйста, воздержитесь от вопроса, если вы заинтересованы в ответе. –

ответ

0

Я проверил документацию, нет способа сделать то, что я искал.

 Смежные вопросы

  • Нет связанных вопросов^_^