У меня было приложение Spring Batch и настроенный шаг, подобный этому:
ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor();
taskExecutor.setCorePoolSize(4);
taskExecutor.setMaxPoolSize(10);
taskExecutor.afterPropertiesSet();
return this.stepBuilderFactory.get("step1")
.<Mymodel, Mymodel>chunk(2500)
.reader(reader())
.writer(writer())
.taskExecutor(taskExecutor)
.build();
И читатель, подобный этому:
@Bean
public JdbcCursorItemReader<Mymodel> reader() {
JdbcCursorItemReader<Mymodel> reader = new JdbcCursorItemReader<Mymodel>();
reader.setDataSource(dataSource);
reader.setSql("select * from User");
reader.setRowMapper(new BeanPropertyRowMapper<>(Mymodel.class));
reader.setVerifyCursorPosition(false);
return reader;
}
Когда я запускаю приложение, получаю эту ошибку:
org.springframework.jdbc.UncategorizedSQLException: попытка обработать следующую строку не удалась;неквалифицированное исключение SQLException для SQL [выбрать * из пользователя];Состояние SQL [99999];код ошибки [17289];Результат устанавливается после последней строки;Вложенное исключение - java.sql.SQLException: результат установлен после последней строки
Не могли бы вы помочь мне решить эту проблему.