Ограничить общее количество записей, которые JdbcPagingItemReader может прочитать в проекте Spring Batch

Я пытаюсь прочитать таблицу базы данных с миллионами записей, и по этой причине я использую JdbcPagingItemReader.

Однако сейчас я нахожусь на этапе тестирования и пытаюсь ограничить общее количество записей, которые я могу прочитать с помощью JdbcPagingItemReader. Я знаю, что это должно быть просто, он просто где-то прячется.

Вот так выглядит мой читатель:

   @Bean (name = "metadataItemReader")
   public ItemReader<DocumentMetadata> itemReader( @Value( "${count}" ) int count ) {

      JdbcPagingItemReader<DocumentMetadata> reader = new JdbcPagingItemReader<>();
      final SqlPagingQueryProviderFactoryBean sqlPagingQueryProviderFactoryBean = new SqlPagingQueryProviderFactoryBean();
      sqlPagingQueryProviderFactoryBean.setDataSource(dataSource);
      sqlPagingQueryProviderFactoryBean.setSelectClause("select id, file_path, file_name, extension, created_by, TO_CHAR(create_date, 'yyyy-mm-dd hh24:mi:ss') as create_date");
      sqlPagingQueryProviderFactoryBean.setFromClause("from document_metadata");
      //sqlPagingQueryProviderFactoryBean.l
      sqlPagingQueryProviderFactoryBean.setSortKey("id");
      try {
         reader.setQueryProvider(sqlPagingQueryProviderFactoryBean.getObject());
      } catch (Exception e) {
         log.error(e.getMessage());
      }
      reader.setDataSource(dataSource);
      reader.setPageSize(10);
      reader.setRowMapper( new MetadataRowMapper() );
      return reader;
   }
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
802
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

JdbcPagingItemReader — это bean-компонент AbstractItemCountingItemStreamItemReader, у него есть свойство maxItemCount, которое вы можете установить для достижения желаемого.

Спасибо! это было то, что мне было нужно.

Awad 25.01.2019 22:36

Другие вопросы по теме