Spring Batch ItemReadListener никогда не вызывается - PullRequest
0 голосов
/ 16 марта 2020

Я учу Весеннюю партию. У меня есть небольшая работа 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 никогда не звонил. Конфигурация моей работы правильная или я что-то упустил? Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...