java - 如何在 Spring Boot 2 中为 Spring Batch 配置数据源以进行测试

标签 java spring spring-boot spring-batch datasource

我正在玩一个简单的批处理,尽管有 H2 依赖性,但数据源配置存在问题。

控制台输出:

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 这样的数据库位于路径上时,默认配置数据源(正如 @Alireza Khajavi 所说)。无需额外配置。我的类路径被搞乱了,并且 pom 文件中的依赖项在启动期间不可用。

    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>

关于java - 如何在 Spring Boot 2 中为 Spring Batch 配置数据源以进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52025000/

相关文章:

java - Spring 数据 JPA。子实体的分页

java - 以 @ConfigurationProperties 为条件的 Spring Boot

java - 推文值(value)预测 : What sort of analysis (Bayesian? ) 可能会预测 Twitter 用户对一条推文的评价是多少?

java - 无法在 JAR 中找到资源文件

java - 避免apache kafka消费者重复消息的有效策略

java - 防止 JAXB 将字符串转换为数字 (JSON)

java - Spring Boot AOP

java - 从 BufferedReader 获取 OutputStream

spring - 为什么要使用服务层?

java - 使用 Spring 测试数据库