À l'aide de Quartz avec le Printemps
Dans mon application, il est nécessaire d'être en mesure de créer la Tâche Planifiée(s) selon le type de Demande qui arrive (Dynamiquement).
Puis-je encore utiliser le Printemps de créer et de déclencher des Emplois? Si Oui, comment?
Toute aide serait utile.
Vous devez vous connecter pour publier un commentaire.
Étant donné que la SchedulerFactoryBean expose un natif de Quartz objet de Planificateur, vous pouvez câbler directement dans votre contrôleur de classe, et puis dynamiquement créer et d'enregistrer des déclencheurs et des emplois avec l'objet de Planificateur.
Printemps lui-même ne peut pas être utilisé pour la planification de l'dynamiquement créé des emplois, depuis le Printemps, la fève de soutien seront utilisés pour configurés statiquement des emplois, mais le natif de Quartz Planificateur de l'API est assez raisonnable pour une utilisation sur son propre (à peine). Comme fr déclenchement de l'emploi, que le Quartz de l'emploi, de ne pas le Printemps.
edit: soit je suis mauvaise compréhension de la question d'origine, ou tout le monde est. L'autre répond à tous les détails de manière statique fil d'une série de quartz emplois à l'aide de Printemps, mais la question est de savoir comment dynamiquement planification des travaux à la demande.
Regarder CronTriggerBean et JobDetailBean. Le "MyJob" classe se moquaient de ci-dessous est un exemple de QuartzJobBean. L'expression cron est ce que vous attendez, mais avec les secondes comme de sa première valeur.
Il ne semble pas y avoir de plus amples informations sur cette. C'est de cette façon-je planifier les travaux de façon dynamique. Bien sûr, vous pourriez remplacer le simple déclenchement avec un autre déclencheur.
Beans Spring:
Pour exécuter la tâche immédiatement obtenir une référence pour le planificateur et le travail, joindre un simple déclencheur et le mettre dans le planificateur, comme ceci:
Vous pouvez télécharger le code source de l'exemple de ce lien
Vous pouvez également obtenir de Printemps pour déclencher les méthodes sur vos haricots à l'aide de Quartz (c'est à dire youdon pas besoin d'en créer de Quartz-classes spécifiques à tous) à l'aide de la
MethodInvokingJobDetailFactoryBean
dans le packageorg.springframework.scheduling.quartz
Un an plus tard et je me retrouve à devoir quelque chose de très similaire. Googler autour, j'ai trouvé ce lien qui décrit l'obtention de l'accès à l'application de contexte à partir de l'intérieur d'une tâche planifiée à travers le JobExecutionContext. Je pense que je vais créer un résumé du type de travail qui peut faire une partie du travail de création et d'utilisation d'un prototype réel injecter des services requis lorsque la tâche doit s'exécuter.
Printemps 3 (dernière version au moment de l'écriture) prend en charge la définition des emplois presque entièrement avec des annotations.
Voir: Printemps de référence sur la planification des