2015-08-21 1 views
1

Nous utilisons partitioner et il est annoté avec @Scope (value = "step") et a une méthode de setter qui est annotée avec @BeforeStep, mais framewowrk n'injecte pas d'objet d'exécution step?Comment accéder à stepExecution dans le partitionneur

Ce que nous faisons mal

+0

Qu'est-ce que vous voulez faire? le partitionneur crée des (step-) exécutions, cela n'a aucun sens (pour moi) de participer à un cycle de vie d'étape –

Répondre

1

Avez-vous enregistré le partitionneur comme « auditeur » sur l'étape? Dès que vous utilisez Step-Scope, votre Bean est caché derrière un proxy, ce qui empêche le spring de l'enregistrer automatiquement en tant que step-listener (cela devrait fonctionner si votre bean n'est pas "step-scoped").

Il est expliqué ici: Spring-batch @BeforeStep does not work with @StepScope