spring-batch-in-action
Spring Batch In Action 自 2011 年以来就没有更新版,也没有汉语版,国内大部分的 Spring Batch 文章都是教程或官方文档的翻译,令人感到无聊。
随着商业或其他服务系统的增长,批量任务也会增加,因此常常会使用粗略的方式来使用 Spring Batch。
Spring MVC 有很多资料,但 Batch 太少了,所以我决定整理一下。
目录
预定
- 简单批量作业
- 执行结果审查
- Job, JobInstance, JobExecution 等 BATCH_JOB 方案
- 审查 BatchExecution 表中的内容
- 批量状态介绍
- 批量作业流程
- 步骤
- 流量
- 分割与多线程
- 决定
- 通过 JobExecutionDecider 进行步骤分支处理
- 批量步骤介绍
- 以块为导向
- 以块为导向的编码
- 读取器处理器和写入器的简要介绍
- JobParameter
@JobScope
,
@StepScope
,
@Value
- 运行 build => batch.jar => 确认在控制台上输出的参数
- 还检查了 Job Parameter 重复导致错误的情况
- 确认未使用 build 执行测试代码
- StepScope
- JobScope
- 阅读器
- 自定义读取器的创建
read()
方法重写注意事项
*
this.data.hasNext()
如果为 false,则必须返回 null
- 如果返回为 null,则会开始无限读取
- DB 和 JPA
- JpaItemReader
- JpaPagingItemReader
- IbatisReader 在 Spring Batch 4.0 中被删除
- 如果需要查询和修改同一张表? (参考)
- 文件
- FlatFileItemReader
- 绝对不要使用 JpaRepository 来自定义 repository
- 读取多个数据源
- 项流接口
- ItemStream?
- 与分页的区别
- JpaCursorItemReader
- QuerydslPagingItemReader 和 QuerydslCursorItemReader
- 编写者
- Simple Writer 简介
- 块差
- 当 chunk 和 page size 不同时的注意事项
- DB 和 JPA
- JDBC 编写器
- JPA Writer
- 编写多个数据源
- 处理器
- 简单处理器
- 在处理器中进行过滤处理
- 处理器验证
Validator
- 如果
Validator.setFilter(true) 失败,则跳过
- 复合类型
- 当需要组合多个处理器时
CompositeItemProcessor