Ich muss einen Bean-Batch-Prozessor zum Testen erstellen (im Controller). Dieser Prozessor hat die Eigenschaft @Value und ich kann nicht verstehen, wie ich diese Bean erstellen kann.
Ich versuche wie:

autowireCapableBeanFactory.autowireBean (PortfolioDataCalculationProcessor);

Dies funktioniert jedoch nicht, da die Eigenschaft @Value initialisiert / festgelegt werden kann.

public class PortfolioDataCalculationProcessor implements ItemProcessor<PortfolioCalculationData, PortfolioCalculationResultData>, StepExecutionListener {
    @Value("#{jobParameters['" + BatchUtils.KEY_UUID + "']}")
    private String jobProcessingId;
....


Irgendeine Idee, wie man es implementiert?

0
Behemoth 31 Dez. 2015 im 19:55

2 Antworten

Beste Antwort

Die Annotation im Prozessor wurde dadurch ersetzt, da dieses Feld (jobProcessingId) zum Testen nicht erforderlich ist:

@Value("#{getObject('jobParameters') != null ? jobParameters['" + BatchUtils.KEY_UUID + "']: '0'}")
0
Behemoth 5 Jän. 2016 im 14:39

Um auf Jobparameter zugreifen zu können, sollte die Bean im Bereich "Schritt" definiert werden.

1
kash 31 Dez. 2015 im 23:43