java - 如何在 Spring Boot 2 中为 Spring Batch 配置数据源以进行测试
问题描述
我正在玩一个简单的批处理,尽管有 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 这样的数据库在路径上时,默认情况下会配置 DataSource(正如@Alireza Khajavi 所说)。不需要额外的配置。我的类路径搞砸了,并且在启动期间来自 pom 文件的依赖项不可用。
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
推荐阅读
- c# - 如何使用带有 Json.NET 的 snake_case 序列化 ExpandoObjects?
- reactjs - React/Ionic 路由:无法读取未定义的属性“startsWith”
- c++ - 如何将计算矩阵转置的函数的结果传递给另一个打印矩阵的函数?
- azureservicebus - 如何在 Azure 门户中启用/禁用批处理操作?
- cordova - Cordova InAppBrowser _self 不执行监视位置代码
- python-3.x - 修改包含多个 XML 文件的大文件以根据条件创建小文件
- r - 为什么当X是张量时tensorflow split函数会报错
- java - Maven 站点:部署编译错误:“找不到符号” - 如何排除特定依赖项?
- c++ - 将模板化的 constexpr 传递给函数推断自动对象的类型
- c# - ASP.NET MVC Web API:传入一个可以是字符串或整数数组的值