如何在 Spring Boot 2 中为 Spring Batch 配置数据源以进行测试
Posted
技术标签:
【中文标题】如何在 Spring Boot 2 中为 Spring Batch 配置数据源以进行测试【英文标题】:How to configure a datasource for a spring batch in Spring Boot 2 for testing purpose 【发布时间】:2019-02-01 03:31:48 【问题描述】:我正在玩一个简单的批处理,尽管有 H2 依赖项,但我的 DataSource 配置有问题。
控制台输出:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
我的类在字符串上运行并使用:
org.springframework.batch.item.ItemProcessor;
org.springframework.batch.item.ItemReader;
org.springframework.batch.item.ItemWriter;
主要
@SpringBootApplication
public class Boo2BatchApplication
public static void main(String[] args)
SpringApplication.run(Boo2BatchApplication.class, args);
配置:
import org.springframework.batch.core.Job;
import org.springframework.batch.core.Step;
import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing;
import org.springframework.batch.core.configuration.annotation.JobBuilderFactory;
import org.springframework.batch.core.configuration.annotation.StepBuilderFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableBatchProcessing
public class BatchConfig
@Bean
public Step recordsStep(StepBuilderFactory stepBuilderFactory, RecordReader recordReader,
RecordProcessor<String> recordProcessor, RecordWriter recordWriter)
return stepBuilderFactory.get("recordsSetp").<String, String>chunk(4).reader(recordReader)
.processor(recordProcessor).writer(recordWriter).build();
@Bean
Job recordsJob(JobBuilderFactory jobBuilderFactory, Step recordsStep)
return jobBuilderFactory.get("recordsJob").start(recordsStep).build();
【问题讨论】:
你的项目中添加了h2驱动吗? How to java-configure separate datasources for spring batch data and business data? Should I even do it?的可能重复 H2 依赖就足够了。无需额外配置。 【参考方案1】:当像 H2 这样的数据库在路径上时,默认配置 DataSource(正如@Alireza Khajavi 所说)。不需要额外的配置。我的类路径搞砸了,并且在启动期间无法使用来自 pom 文件的依赖项。
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
【讨论】:
既然你发现你的类路径搞砸了,你的问题解决了吗?以上是关于如何在 Spring Boot 2 中为 Spring Batch 配置数据源以进行测试的主要内容,如果未能解决你的问题,请参考以下文章
如何在 IntelliJ IDEA 中为 Spring Boot 项目构建 jar 工件
如何在 Spring Boot 中为 Spring LDAP 身份验证设置覆盖 BindAuthenticator handleBindException
Spring Boot 揭秘与实战 服务器篇 - 其他内嵌服务器 发表于 2017-01-03 | Spring框架 | Spri