Ho un semplice programma che funziona con il lettore di input batch di primavera, Writer. Lo scopo del programma è quello di leggere semplicemente un file csv.Configurazione intervallo di commit batch di primavera non funzionante
Ho impostato il commit-interval
su 5. Il file csv aveva solo 5 record ma per qualche motivo il writer è stato chiamato 3 volte sebbene lo commit-interval
fosse impostato su 5. Mi aspettavo che lo scrittore venisse chiamato solo una volta in base a la mia comprensione del fatto che il lettore e il processore dell'articolo avrebbero letto ogni elemento riga per riga e quindi lo scrittore avrebbe elaborato tutti e 5 contemporaneamente. Immagino di non essere chiaro sull'impatto dell'intervallo di commit. Qualche consiglio?
Il motivo della mia domanda è che ho un milione di record che potrei dover leggere e passare al passaggio successivo utilizzando una raccolta Java. Ora quando provo a leggere da un file piccolo solo l'ultimo blocco il cui numero è uguale al commit-linterval specificato viene passato al passaggio successivo utilizzando StepExecution. I record precedenti non vengono passati. Come posso garantire che tutti i record vengano superati. Cambierà l'aiuto dell'intervallo di commit? O esiste un altro approccio? – user5053360
Sto usando ExecutionContext ed ExecutionContextPromotionListener per questo.Ma solo l'ultimo chunk che è uguale all'intervallo di commit è impostato e letto nel passaggio successivo. – user5053360
Si prega di condividere il file di configurazione. Voglio conoscere il tipo di 'reader',' writer' e 'processor' che stai usando. – SyntaX