Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从不同的可执行文件向正在运行的Quartz调度程序动态添加作业_Java_Job Scheduling - Fatal编程技术网

Java 从不同的可执行文件向正在运行的Quartz调度程序动态添加作业

Java 从不同的可执行文件向正在运行的Quartz调度程序动态添加作业,java,job-scheduling,Java,Job Scheduling,我有一个已启动的计划程序,并在其上运行一个作业。这是我将要运行的主调度程序线程 public class MyApp { Scheduler scheduler1; public static void main(String[] args) { run(); } public static void run(){ try { JobDetail job = JobBuilder.newJob(Job.cla

我有一个已启动的计划程序,并在其上运行一个作业。这是我将要运行的主调度程序线程

    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”的内容,而实例ID返回“NON_CLUSTERED”。我需要开发一个应用程序来运行单个调度器线程,并不断添加/删除发送电子邮件的更新作业。因为这将由servlet进行初始化。是否有一种方法可以从不同的可执行实例的内存访问此计划程序。这就是我要找的

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

有没有办法使用调度程序实例ID和调度程序名称来执行此操作

我检查了文档,没有办法做我想做的事。

我检查了文档,没有办法做我想做的事。

我有同样的问题。。。你有什么进展吗?@HugoZaragoza如果你对答案感兴趣,请把问题投上去。我有同样的问题。。。你有什么进展吗?@HugoZaragoza如果你对答案感兴趣,请把问题投上去。