Exécuter le travail par lots de Spring par programme?
J'ai un Printemps application de traitement par Lots, ce qui, je commence avec le CommandLineJobRunner
. Mais maintenant, je dois intégrer cette demande dans notre environnement d'entreprise. Nous avons là un Lanceur d'application qui j'ai à utiliser. Pour ce lanceur d'application, j'ai besoin d'un démarrage de la classe avec une méthode main qui sera appelé au démarrage et où je dois lancer Spring Batch.
Est le seul moyen pour attribuer manuellement une JobLauncher
et d'exécuter le Travail avec ce lanceur ou est-il une classe de Spring Batch qui permettrait de soutien (ou de faire savoir à quelqu'un d'un échantillon)?
source d'informationauteur dunni
Vous devez vous connecter pour publier un commentaire.
Oui, vous pouvez lancer votre par programme de travail. Si vous voyez dans la source de
CommandLineJobRunner
la principale méthode il suffit de créer un Ressort de contexte et d'utiliser le lanceur d'applications pour exécuter le travail. De sorte que vous pouvez le faire dans votre nouvelle application.L'aide d'un Ressort de Démarrage de l'Application si vous ne souhaitez pas utiliser le CommandLineRunner (pour une raison quelconque ou si vous avez besoin d'une logique personnalisée), vous pouvez toujours faire quelque chose comme :
JobLauncher peut être utilisé pour invoquer le Travail en programmant. JobLauncher peut être autocâblés dans votre Servlet/Contrôleur si vous êtes à la recherche d'un moyen de déclencher des emplois à partir d'une webapp:
http://docs.spring.io/spring-batch/reference/htmlsingle/#runningJobsFromWebContainer