Я учу Весеннюю партию. У меня есть небольшая работа basi c, которая читает данные из обычного файла, записывает их в базу данных и отправляет уведомление. Работа отлично работает. Теперь я хотел использовать ItemReadListener, чтобы узнать, как он работает, поэтому я добавил его к своей работе. Но когда я запускаю задание, ItemReadListener никогда не вызывается. Ниже приведен код моего ItemListener
public class CustomItemReadListener implements ItemReadListener {
@Override
public void beforeRead() throws Exception {
System.out.println("Before Read");
}
@Override
public void afterRead(Object o) throws Exception {
System.out.println("afterRead");
System.out.println(o.toString());
}
@Override
public void onReadError(Exception e) throws Exception {
}
}
Мое определение задания ниже
<job id="loaddataToDatabase" xmlns="http://www.springframework.org/schema/batch">
<step id="loadDataStep">
<tasklet transaction-manager="transactionManager">
<chunk commit-interval="100" reader="feedItemReader" writer="feedItemWriter">
<listeners>
<listener ref="customItemReadListener">
</listener>
</listeners>
</chunk>
</tasklet>
<next on="FAILED" to="sendFileLoadNotification"/>
<next on="*" to="sendFileLoadNotification"/>
</step>
</job>
<bean id="customItemReadListener" class="com.listeners.CustomItemReadListener" scope="step"/>
Задание выполняется успешно, но ItemReadListener никогда не звонил. Конфигурация моей работы правильная или я что-то упустил? Спасибо.