2012-06-26 5 views
4

J'essaie de récupérer tous les travaux enregistrés avec le planificateur Quartz pour un groupe particulier. voici mon morceau de codeImpossible d'obtenir la liste des tâches dans le planificateur Quartz

CustomSchdularFactory.getSchedulerInstance().getJobKeys(groupEquals(group)); 

ici group est une variable de chaîne contenant le nom du groupe dont les emplois associés je veux chercher. tout en utilisant le code ci-dessus je reçois erreur suivant

The method getJobKeys(GroupMatcher<JobKey>) in the type Scheduler is not applicable for the arguments (GroupMatcher<Key<Key<T>>>) 

Je ne sais pas pourquoi cette erreur se produit comme je l'ai pris la référence à partir de quartz documents officiels

ListJobs

+0

Deux ans plus tard et leur documentation (dans la section livre de recettes) est encore mal. La réponse acceptée est correcte. Les autres gars ont juste référé l'exemple incorrect dans le Cookbook. Peut-être que cela fonctionne dans Quartz 2.2.x, mais dans Quartz 2.1.x, ce n'est pas le cas. Le mauvais exemple Cookbook est dans la section Quartz 2.1.x. –

+0

@JimTough pour des raisons de complétude, ce problème spécifique semble avoir été introduit dans 2.1, où le code GroupMatcher a été totalement révisé. Le même code est toujours dans la version 2.2, ce qui provoquera le même problème ici. Btw, c'est toujours plus agréable de laisser une note rapide quand vous downvote, je ne mets pas de fausses informations ici exprès, je n'utilisais encore que Quartz 2.0 à l'époque ... – fvu

Répondre

6

Utilisez jobGroupEquals au lieu de groupEquals

CustomSchdularFactory.getSchedulerInstance().getJobKeys(jobGroupEquals(group)); 

et cela fonctionnera pour vous.

2

Utilisez-le

Scheduler sched = new StdSchedulerFactory().getScheduler(); 

for(String group: sched.getJobGroupNames()) { 
    for(JobKey jobKey : sched.getJobKeys(GroupMatcher.jobGroupEquals(group))) { 
     ... 
    } 
} 
+0

celui-ci a fonctionné pour moi! – Gero

Questions connexes