Spring Boot集成Spring Batch时元数据表未自动生成的问题求助
Spring Boot集成Spring Batch时元数据表未自动生成的问题求助
大家好,我在Spring Boot项目中使用Spring Batch时碰到了个头疼的问题——我本来以为Spring Batch会自动生成那些必需的元数据表,但现在程序一跑就报错说表找不到,有没有大佬能帮我分析分析原因呀!
具体报错信息如下:
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "BATCH_JOB_INSTANCE" not found (this database is empty); SQL statement:
SELECT JOB_INSTANCE_ID, JOB_NAME from BATCH_JOB_INSTANCE where JOB_NAME = ? and JOB_KEY = ? [42104-214]
项目依赖版本
- Spring Boot: 3.0.1
- Spring Batch starter: 3.0.1
- Spring Batch Core: 5.0.0
application.properties配置(当前使用H2内存数据库)
spring.datasource.url=jdbc:h2:mem:testdb spring.datasource.driverClassName=org.h2.Driver spring.datasource.username=sa spring.datasource.password= spring.jpa.database-platform=org.hibernate.dialect.H2Dialect spring.h2.console.enabled=true
BatchConfig配置类代码
@Configuration @EnableBatchProcessing public class BatchConfig { @Bean public Job uploadSupplierJob(JobRepository jobRepository, Step step1) { return new JobBuilder("uploadSupplierJob", jobRepository) .start(step1) .build(); } @Bean public Step step1(JobRepository jobRepository, PlatformTransactionManager transactionManager, FlatFileItemReader<SupplierCsv> supplierItemReader, ItemWriter supplierItemWriter) { return new StepBuilder("step1", jobRepository) .chunk(10, transactionManager) .reader(supplierItemReader) .writer(supplierItemWriter) .build(); } @Bean @StepScope public FlatFileItemReader<SupplierCsv> supplierItemReader(@Value("#{jobParameters['file']}") MultipartFile file) throws IOException { return new FlatFileItemReaderBuilder<SupplierCsv>().name("supplierItemReader") .resource(new InputStreamResource(file.getInputStream())) .delimited() .names("name", "contactName", "terms","notes","leadDays","address","phoneNumber") .fieldSetMapper(new BeanWrapperFieldSetMapper<SupplierCsv>() {{ setTargetType(SupplierCsv.class); }}) .build(); } }
备注:内容来源于stack exchange,提问作者fragilepriCe
相关产品推荐
相关产品推荐

