cari

Rumah  >  Soal Jawab  >  teks badan

java - quartz里关于group的问题

在使用quartz动态添加修改任务时,在新建trigger或者jobdetail时 除了给自己名称外,还有一个参数是groupname,这个参数是用来限制什么的呢?同一个组下的连个jobdetail 和两个组下的jobdetail有什么区别呢?trigger组在什么情况下会用到呢??

我使用的quartz是2.2.3的版本
请大神指教!!!

PHP中文网PHP中文网2767 hari yang lalu786

membalas semua(1)saya akan balas

  • PHP中文网

    PHP中文网2017-04-18 10:28:25

    Dokumentasi adalah seperti berikut:
    Kunci Pekerjaan dan Pencetus (JobKey dan TriggerKey) membolehkannya diletakkan ke dalam 'kumpulan' yang boleh berguna untuk mengatur kerja anda dan mencetuskan ke dalam kategori seperti "pelaporan pekerjaan" dan kerja "penyelenggaraan"". Bahagian nama kunci kerja atau pencetus mestilah unik dalam kumpulan - atau dengan kata lain, kunci lengkap (atau pengecam) kerja atau pencetus ialah gabungan nama dan kumpulan.
    Ringkasnya, nama+kumpulan membentuk kunci unik, yang melaluinya anda boleh mengemas kini, menghentikan tugas, dsb.
    Tulis demo ringkas:

               JobDetail jobDetail=JobBuilder.newJob(SimpleJob.class).withIdentity("myjob", "job-group").build();
               CronTrigger cronTrigger=TriggerBuilder.newTrigger().withIdentity("cronTrigger", "trigger-group").withSchedule(CronScheduleBuilder.cronSchedule("* * * * * ?")).build();  
               SchedulerFactory sFactory=new StdSchedulerFactory();  
               Scheduler scheduler=sFactory.getScheduler();  
               scheduler.scheduleJob(jobDetail, cronTrigger);
               scheduler.start();  
               Thread.sleep(5*1000);//
               JobKey key = JobKey.jobKey("myjob", "job-group");//通过name+group获取唯一的jobKey
               scheduler.pauseJob(key);//暂停任务

    Aplikasi kumpulan lain:
    Anda boleh mendapatkan semua kunci kerja di bawahnya melalui nama kumpulan

    
      GroupMatcher<JobKey> gm = GroupMatcher.groupEquals("job-group");
      Set<JobKey> set = scheduler.getJobKeys(gm);
    

    balas
    0
  • Batalbalas