У меня есть шаг в моей работе с ItemReader / ItemProcessor / ItemWriter. В моем ItemWriter мне нужно увеличить переменную для каждой записи, чтобы узнать, какой номер строки моей записи в файле. На данный момент я использую статическую переменную, которая хорошо подходит для того, что я хочу делать, когда я обрабатываю один файл. Проблема в том, что я могу перезапустить свою работу (с другими параметрами), и когда я обрабатываю другой файл без перезапуска моего приложения раньше, моя переменная не перезагружается до начального числа, пока оно статично, и я могу установить свой счетчик на «33» вместо 1 ...
Думаю, я мог бы обойти эту проблему, используя stepContext вместо статической переменной, но мне это не нравится. Я бы предпочел, чтобы метод вызывался после обработки всех записей (что-то вроде footerCallback FlatFileItemWriter), чтобы я мог сбросить свою статическую переменную. На самом деле я просто хотел бы избежать использования stepContext.
Есть ли такой метод для "классического" ItemWriter (а не для плоских файлов)? Или другой способ сделать это?