spring batch 中的 chunk -买球官网平台

`
osseztec
  • 浏览: 340401 次
最近访客
博主相关
  • 博客
  • 微博
  • 相册
  • 收藏
  • 社区版块
    • ( 0)
    • ( 64)
    • ( 0)
    存档分类
    最新评论

    spring batch 中的 chunk

     

    我们都知道 spring batch 有 2 种任务方式。

    主要是在 step 阶段,在 step 阶段,我们可以执行一个 tasklet,我们也可以按照 chunk 来执行。

    主要区别

    如果使用 tasklet 的话,我们可以一个 step 对应一个 tasklet,spring batch 不允许一个 step 对应多个 tasklet。

    考虑有一个场景,我们需要使用 spring batch 对数据库中的表进行更新,这个表可能每次 batch 要更新 几千条数据,需要满足每 5 分钟更新一次。

    如果我们采取 tasklet 的方式的话,正常的思维都是读取需要更新的数据,然后逐条进行更新。

    这个没有问题吧,但是恰恰问题就在这里。

    问题就是在 spring batch 使用的事务,tasklet 在启动的时候会创建一个事务,那么读取 1000 条数据,处理 1000 条数据,写入 1000 条数据都在一个事务里面。

    假设这个处理时间超过 5 分钟,下一次的任务又开始启动了,这个时候 spring batch 还会启动一个事务。

    假设 10 分钟了,我们还是没有完成,spring batch 会继续启动任务和创建事务。

    结果是什么,这个显而易见了,就是出现事务堆积,导致锁表,然后所有的任务都失败,无法完成。

    针对这种场景,我们就需要 chunk 了。

    chunk

    chunk 的主要目的就是为了告诉 spring 一次执行几条记录。

    我们如果设置 chunk 为 1 的话,那么 spring batch 每次读取一条记录,处理一条记录,写入一条记录,然后将这个事务进行提交。

    这样的话,可以有效的避免事务堆积导致的锁表。

     

     

    chunk 的大小,通常比较小,如果一次性设太大了,也会锁表。

     

    分享到:
    评论

    相关推荐

      spring batch是一个轻量级的,完全面向...5、提供spring框架中配置、自定义、和扩展服务。 6、所有存在的核心服务可以很容的被替换和扩展,不影响基础层。 7、提供一个简单的部署模式,利用maven构建独立的jar文件。

      work with all aspects of batch processing in a modern java environment using a selection of spring frameworks. this book provides up-to-date examples using the latest configuration techniques based on...

      spring batch api(spring batch 开发文档).chm。 买球官网平台官网 spring batch api,spring batch 开发文档

      springbatch mybatis

      资源名称:spring batch 批处理框架内容简介:《spring batch 批处理框架》全面、系统地介绍了批处理框架spring batch,通过详尽的实战示例向读者展示了spring batch框架对大数据批处理的基本开发能力,并对框架的...

      spring batch是spring的一个子项目,使用java语言并基于spring框架为基础开发,使得已经使用 spring 框架的开发者或者企业更容易访问和利用企业服务。 spring batch 提供了大量可重用的组件,包括了日志、追踪、事务、...

      spring boot整合spring batch的一个小例子,在网上发现这方面的资源比较少,特此将其上传供大家学习。

      2,什么是 spring batch 3 二,spring batch结构 4 1,spring batch体系结构 4 2,spring batch主要对象 5 三,spring batch流程介绍 5 四,spring batch之step执行过程介绍 6 五,spring batch应用 7 1,简单应用 7...

      springbatch书籍批处理加课程源码,很全,可以给大家学习

      spring batch官方文档:https://docs.spring.io/spring-batch spring batch3.x中文文档:http://www.kailing.pub/springbatchreference spring batch官方入门实例:https://projects.spring.io/spring-batch/ 简单...

      springbatch springboot构建海量数据企业批处理系统和性能优化,spring batch是一个基于spring的企业级批处理框架,所谓企业批处理就是指在企业级应用中,不需要人工干预,定期读取数据,进行相应的业务处理之后,再...

      spring batch in action is a comprehensive, in-depth guide to writing batch applications using spring batch. written for developers who have basic knowledge of java and the spring lightweight ...

      常见的几种springbatch运行的成功案例,本人亲测,绝对可靠!你值得拥有

      spring batch批处理框架spring batch批处理框架spring batch批处理框架

      spring batch 实例代码

      这个是springboot整合spring batch的demo,里面包含 1.从csv文件读取大量数据进行分批处理; 2.从数据库读取大量数据进行分批处理;

      基本篇重点讲述了数据批处理的核心概念、典型的作业配置、作业步配置,以及spring batch框架中经典的三步走策略:数据读、数据处理和数据写,详尽地介绍了如何对cvs格式文件、json格式文件、xml文件、数据库和jms...

      springbatch 示例小程序源码(内含依赖的jar包) 本示例程序 使用 spring 3 spring batch 2.2.7

      难得的详细spring batch资料 难得的详细spring batch资料

      官方下载地址:https://www.gitbook.com/book/kimmking/springbatchreference/details 这里免费也给大家一份,方便下载

    global site tag (gtag.js) - google analytics