首页 > 其他分享 >Spring Batch 事务限制

Spring Batch 事务限制

时间:2022-10-15 05:00:07浏览次数:76  
标签:事务 Spring Batch 提交 数据处理 Tasklet

对 Spring Batch 有所了解的同学都知道 Batch 是用来进行批量数据处理的。

但是我们在同时使用 Spring JPA 的时候,尤其是循环数据处理的时候,我们希望能够尽快提交事务。

但是,Spring Batch 中,如果使用了 Tasklet 的话,那么Spring 会在 Tasklet 级别创建一个事务。

在 Tasklet 不完成的情况下,事务是不会提交的。

这就需要对我们代码进行进行处理的时候,需要对数据量有多大有比较清楚的了解。

否则,非常容易遇到事务堆叠导致锁表的情况。

解决办法

针对一个 Tasklet 只完成一个特定的工作,如果 Job 的处理数据比较多的话,需要分开不同的 Tasklet 来做。

 

2022-10-14_14-02-04

 

如上图,哪怕我们在这里调用了不同的服务,调用了不同的数据层。

事务都是没有办法提交的。

简单的办法就是针对上面的操作使用不同的 Tasklet 来做。

有人问过,能不能在循环中一次一次的进行提交。

Spring Batch 这样设计的目的就是为了保持数据的完整性,因此需要对 Batch 的逻辑进行考虑,而不建议考虑怎么省事怎么来。

https://www.ossez.com/t/spring-batch/14148

标签:事务,Spring,Batch,提交,数据处理,Tasklet
From: https://www.cnblogs.com/huyuchengus/p/16793473.html

相关文章

  • Spring 数据处理中的事务级别
    在Spring项目中,如果使用了Spring的事务管理的话。默认的事务级别都在类,这个级别的,这就导致了,如果在循环中对数据进行处理的话,如果循环不结束,事务是不会提交的。如果......
  • SpringMVC项目访问时不进Controller层也不报错
    真的真的真的被自己蠢到了1、出现的问题闲来无事准备复习一下SpringMVC的内容,于是就导入一个SpringMVC项目,但是输入访问路径时报了404,控制台也无任何报错信息。2、尝......
  • SpringBoot整合
    1、JedisPoolConfig(这个是配置连接池)2、RedisConnectionFactory这个是配置连接信息,这里的RedisConnectionFactory是一个接口,我们需要使用它的实现类,在SpringData......
  • Jedis(五大数据类型,事务)
    简介Jedis是Redis官方推荐的Java连接开发工具。要在Java开发中使用好Redis中间件,必须对Jedis熟悉才能写成漂亮的代码测试联通打开window下的redis-server,1、新建一个普......
  • 基于springboot高速公路收费管理系统的设计设计与实现-计算机毕业设计源码+LW文档
    摘  要通篇文章的撰写基础是实际的应用需要,然后在架构系统之前全面复习大学所修习的相关知识以及网络提供的技术应用教程,以高速公路收费管理的实际应用需要出发,架构系......
  • 基于springboot的永加乡精准扶贫信息管理系统设计与实现-计算机毕业设计源码+LW文档
    摘要:本精准扶贫信息管理系统是针对目前精准扶贫信息管理的实际需求,从实际工作出发,对过去的精准扶贫信息管理系统存在的问题进行分析,完善用户的使用体会。采用计算机系统来管......
  • springMVC 总结 以及ssm整合
    SpringMVC概述:SpringMVC是一种基于Java实现MVC模型的轻量级Web框架springMVC涉及到的坐标导入servlet坐标 这里一定要设置scope标签否则将会报错<dependency>......
  • InnoDB存储引擎:事务
    认识事务概述事务:访问并更新数据库中各种数据项的一个程序执行单元。数据库引入事务的主要目的:事务会把数据库从一种一致状态转换为另一种一致状态。在数据库提交工作时......
  • springMvc 整合ssm 和全局异常处理器类编写 和拦截器编写
    ssm整合步骤  1创建Maven工程项目添加依赖   2在config包中编写servlet配置类继承AbstractAnnotationConfigDispatcherServletInitializer并重写类中3......
  • 数据库第十三次作业 事务管理【带源码】
    目录​​一、新建数据库​​​​二、事务的提交​​​​ 1.事务的隔离级别​​​​1.1脏读 ​​​​1.2演示脏读 ​​​​1.3设置b账户中事务的隔离级别 ​​​​1.4.验......