sping batch 使用笔记
来源:互联网 发布:程序员必须知道的网站 编辑:程序博客网 时间:2024/06/05 08:36
为什么要使用 spring batch?
一.工作当中需要做数据同步,单表数据 在 10W 左右。
二.可以解耦合,将业务操作拆分为job,step,tasklet。
1.job可以配置个 baseJob 设置监听器,做 统一的异常监听,并且发送消息通知开发人员异常清空;
2.step在一个job 中可以有多个,next 可以设置 下一个 需要执行的 step,step 中 设置tasklet。
3.tasklet可以自己写个去BaseTasklet去实现Tasklet,前面是这样做的,后面感觉没什么必要,重点需要关注的其实 就是 Reader,Processor,Writer,流程图如下
注:大框是类,小框是相应类中的方法。
3.性能好,先直接 插入了2W 多条数据试了下,直接使用 jdbcTempleate 直接插入,速度是 35秒,使用 spring batch,并且配置 reader,process,writer,速度是27秒,反复测试的结果,差距不是很大, spring batch 我设置的 是 5000 提交一次,这里提醒下,批量插入,切记要注意 autoCommit 的值为 false,不管是 使用 事物达到,还是直接获得 db connection 设置,在事物处理中的话,默认是 false,事物结束才提交。
4.可以实现异步 处理和写,一边 process ,一边writer,但是 对于批量插入或者process 时间少的业务环境显得鸡肋,因为批量插入不可能一次性处理一条插入一条,这样插入的速度 会极大的受到影响。
5.可配置灵活性强,job 可以通过配置异步执行。
- sping batch 使用笔记
- Sping batch中的事物管理
- Sping学习笔记
- Sping学习笔记
- Sping学习笔记1
- sping学习笔记
- sping 一些使用
- sping AOP 使用
- Django笔记 使用Celery来进行定时Batch任务
- Sping
- Sping中使用Hibernate浅析
- Spring Batch学习笔记
- Spring batch笔记
- Batch Normalization 学习笔记
- Batch Normalization 学习笔记
- Batch Normalization 学习笔记
- 论文笔记-Batch Normalization
- Batch Normalization 学习笔记
- Linux下getopt()函数的简单使用
- 程序员的八重境界
- docker常用命令示例
- 最短路模板
- 乐观锁和悲观锁
- sping batch 使用笔记
- C#进阶系列——WebApi 路由机制剖析:你准备好了吗?
- Dlubal PLATE-BUCKLING 8.09.01
- 第3周 实践项目2 建设”顺序表“算法库(可参考为模板)
- app运行时找不到第三方包里的某个类
- 手机/移动前端开发需要注意的20个要点
- Kaggle笔记:DigitRecognition 数字识别 kNN解法
- 阿里云上tomocat获取当前时间不正确,差8小时
- MySQL创建用户与授权方法