前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Batch 批处理(2) - 搭建及运行

Spring Batch 批处理(2) - 搭建及运行

作者头像
chenchenchen
发布2020-05-26 17:18:46
7150
发布2020-05-26 17:18:46
举报
文章被收录于专栏:chenchenchenchenchenchen

搭建spring batch 项目

1、注解@EnableBatchProcessing :使用此注解执行批处理

2、spring batch 的 依赖:

代码语言:javascript
复制
<dependency>
<groupId> org.springframework.boot</groupId>
<artifactId>spring-boot-start-batch</artifactId>
</dependency>

3、创建Job

1.注入创建任务对象的对象

private JobBuilderFactory jobBuilderFactory;

2.注入创建Step 对象的对象

private StepBuilderFactory stepBuilderFactory;

3.创建任务对象

创建多个任务对象:

A. 第一种方法

代码语言:javascript
复制
@Bean
public Job ****Job(){
// 指定任务执行什么step
return jobBuilderFactory.get("****Job")
.start(step1())
.next(step2())
.next(step3())
.build();
}

B. 第二种方法,根据 每个step操作返回的不同状态,进行判定是否进入下一个step,或者进行其他处理流程。:

代码语言:javascript
复制
@Bean
public Job ****Job(){
// 指定任务执行什么step
return jobBuilderFactory.get("****Job")
.start(step1())
.on("completed").to(step2())
.from(step2()).on("completed").to(step3()) // fail()    stopAndRestart
.from(step3()).end()
.build();
}

创建step对象:

代码语言:javascript
复制
@Bean
public Step step1(){
return stepBuilderFactory.get("step1")
                .tasklet(new Tasklet() {
                    @Override
                    public RepeatStatus execute(StepContribution stepContribution, ChunkContext chunkContext) throws Exception {
                        System.out.println("Hello Spring Batch");
                        return RepeatStatus.FINISHED;
                    }
                }).build();
}

4、将spring batch 数据库,替换为mysql 数据源

A. 替换为mysql数据库需要添加的依赖 ``` mysql mysql-connector-java org.springframework.boot spring-boot-starter-jdbc ``` B. 配置数据源 ``` #配置spring batch job instance 等信息存放数据源 spring.datasource.driverClassName=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test spring.datasource.username=root spring.datasource.password=123

#初始化spring batch job、step等信息存放的表,demo使用mysql #spring.datasource.schema=classpath:/org/springframework/batch/core/schema-mysql.sql spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect

#spring.batch.initialize-schema=always

#是否启动项目时候,自动执行job #spring.batch.job.enabled = false

代码语言:javascript
复制
 <br/><br/><br/>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 搭建spring batch 项目
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档