Bonjour,
J'ai un peu de mal à comprendre comment fonctionne certains exemples de Spring Batch qu'on trouve en ligne. Comme celui ci :
http://spring.io/guides/gs/batch-processing/
l'exemple défini la méthode writer comme ceci :
Mais à aucun moment, on indique comment construire la datasource. D'où vient-elle ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part public JdbcBatchItemWriter<Person> writer(DataSource dataSource) {
Et quand on l'appelle, on l'appelle comme ceci :
Et je ne comprends pas comment il peut savoir que l'objet "writer" a été créé avec la méthode du même nom...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 @Bean public Step step1(JdbcBatchItemWriter<Person> writer) { return stepBuilderFactory.get("step1") .<Person, Person> chunk(10) .reader(reader()) .processor(processor()) .writer(writer) .build(); }
J'ai aussi vu dans d'autres exemples, l'écriture suivante :
Qui semble ne fonctionner que si la méthode "writer()" n'a pas de paramètre (donc pas possible de lui passer un datasource.
Code : Sélectionner tout - Visualiser dans une fenêtre à part .writer(writer)
Bref, j'ai du mal à comprendre par quel mécanisme cela fonctionne.
Merci pour votre aide,
Axel
Partager