spring batch| Gracieuse de la cessation de l'emploi dans le travail
Après le lancement d'un emploi, dans l'avant emploi, il ya certaines occasions où nous voulons gracieusement mettre fin à l'emploi (à savoir, ne pas exécuter le travail, mais à tous les ni se plaindre je.e .pas d'exception). La façon de faire actuelle, cela ressemble à invoquer jobExecution.stop - Toutefois, cela entraîne JobInteruptedException qui résultats dans l'enregistreur.erreur invocation.
Est-il un autre meilleure alternative programmatique (sans intervention manuelle)?
OriginalL'auteur Jaga | 2012-09-27
Vous devez vous connecter pour publier un commentaire.
Vous pouvez lire :
Seulement introduire un fin élément pour votre première étape en fonction de la condition:
N'avons pas vraiment votre point de vue. Supposons que votre travail est de la lecture de fichiers db et vous voulez qu'il fonctionne uniquement les lundis et si c'est un autre jour vous ne voulez pas exception -> gracieux de la cessation de l'emploi. Vous allez écrire une simple étape (un "si" en fait) et en fonction de votre état de santé, le travail sera terminé. La partie ne répond pas à vos besoins?
>>Vous allez écrire une simple étape, je ne veux pas écrire cet ajout étape à la place cherche quelque chose de simple et intuitive, comme job.complet() une Autre raison d'éviter l'écriture d'une étape (corrigez-moi si je me trompe) - cette étape est en fait un décideur (JobExecutionDecider classe) pour laquelle j'ai besoin de configurer xml dire si le statut est terminé/succès, puis à la fin de l'emploi d'autre l'échec, le travail, etc..) Tout en ayant quelque chose comme job.complet() serait un très pratique alternative, Merci pour votre temps à l'avance
OriginalL'auteur Serkan Arıkuşu
stop() l'instruction ne sera actif que si la transaction s'engager avec succès.
Si vous avez des morceaux de restauration de votre travail ne s'arrête pas.
J'ai fais cette solution de contournement:
Créer un ChunkListener et dans la méthode
afterChunkError(ChunkContext chunkCtx)
mettre:Cela va forcer un
"controlled"
arrêter.OriginalL'auteur Enrico Piana
J'ai résolu le problème en ajoutant un indicateur booléen executeTheJob dans mon "avant d'emplois de" auditeur que j'ai mis à false quand je ne veux pas pour exécuter le job.
Puis-je gérer que dans mon firstStep avec cette configuration:
Et au début de ma première tasklet j'ai ceci:
OriginalL'auteur Abel ANEIROS
Au lieu d'invoquer
stop()
sur l'exécution du job, essayez de signalisation par l'intermédiaire de l' JobOperator comme indiqué dans L'arrêt d'un Travail d'OriginalL'auteur firefox784