Écrire un Spring batch élément personnalisé écrivain
J'ai besoin d'écrire un Spring batch élément personnalisé écrivain qui utilise un pied de page, mais je ne peux pas utiliser le modèle de délégué.
Est-il une autre façon d'écrire une Spring batch élément personnalisé écrivain?
Vous en remercie d'avance.
Vous devez vous connecter pour publier un commentaire.
Créer un personnalisé
ItemWriter
qui implémenteItemStream
(pour gérer la possibilité de redémarrage et de pied de page de l'écriture) et les écraser à la prochaine méthodes:ItemWrite.write(List<> items)
: écrire des articles et lors de l'écriture d'effectuer les données nécessaires au calcul pour le pied de pageItemStream.update(ExecutionContext)
: enregistrer calculé le pied de page de données dans la méthode write ()ItemStream.open(ExecutionContext)
: restauration précédemment enregistré le pied de page de donnéesItemStream.close()
: faire du vrai pied de page d'écriture (directement dans votre propre de l'écrivain ou à l'aide d'un rappel)Vérifier ici
Fondamentalement, vous avez besoin de créer une classe qui implémente
ItemWriter<YourModel>
etFlatFileFooterCallback
Dans le
write
méthode, entrez la façon dont les données seront écrites et dans lewriteFooter
le pied de page du fichier.Ensuite déclarer votre classe comme un haricot et le mettre comme un écrivain à votre travail.
J'ai trouvé la solution. Je ne peux pas écrire une coutume itemwriter, mais j'ai créé un haricot et j'ai remplacé la méthode toString. Dans cette méthode, j'ai mis la sortie vers le fichier en tant que de besoin. Ensuite, j'ai créé un PassThroughLineAggregator type itemwriter. Cette itemwriter appelle la méthode toString de la fève de sortie. Et c'est tout!!
Voici le code:
MOH_Diaria_Bean_Out.java:
ItemWriter: