搭建批处理框架问题总结Spring Batch + Spring Batch Admin + Quartz

原创 2015年07月06日 16:43:32

Transaction Manager 事务管理器问题:

问题现象:在Tasklet中调用Dao  update更新数据,发现数据库没有变。

问题分析:猜测是没有commit

原来,我用了spring batch admin作为批处理界面管理,

但是spring-batch-admin-manager*.jar内部data-source-context.xml定义了数据源和事务管理器

与我的dao模块的datasource,  transaction manager冲突了。


这里实际用了两个事务管理器:

* 1)transactionManager 用于spring batch登记BATCH_开头的框架相关表:
* 配置在spring-batch-manager.jar的data-source-context.xml中.
* JobRepository, JobRegistry, JobLauncher, JobService都是使用这个事务管理器。

* 2) 用于 控制TaskletStep中(调用dao)业务逻辑数据的提交和回滚,
* 所以必须和act-dao中的mybatis事务管理器txManager是同一个对象,才能让spring batch在TransactionTemplate中自动提交和回滚
* 如果spring batch和Dao使用的事务管理器不是同一个,会导致Dao的更新丢失.


原来的代码自动注入有问题,用的是上面1) transactionManager:

@Resource
PlatformTransactionManager transactionManager;

taskletStep.setTransactionManager(transactionManager);


解决方案:TaskletStep改为和Dao一样,使用2) txManager

@Resource(name="txManager")
PlatformTransactionManager txManager;

taskletStep.setTransactionManager(txManager);


spring batch admin 嵌入web访问

spring batch admin配置,可以实现batch 任务的一些基本的查看等功能
  • karott
  • karott
  • 2015年05月27日 11:11
  • 1461

spring batch教程 之 配置并运行Job

Spring batch整体的架构设计使用如下关系图来进行表示: 虽然Job对象看上去像是对于多个Step的一个简单容器,但是开发者必须要注意许多配置项。此外,Job的运行以及Job运行过程中...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Spring Batch批处理框架初探

关于spring batch使用整理的一系列教程。

spring batch + spring boot 配置

1. spring batch 批处理配置 package cn.fraudmetrix.kratos.syncclient.config; import java.io.IOException;...

spring-batch+quartz的示例

spring-batch是一个为批量处理面生的轻量级框架,关于它的描述不多说了,网上挺多的。下面要说的是一个spring-batch+quartz的一示例,完成的功能是从mysql中定时取数据,然后处...

spring boot + spring batch+ quartz实例

注:本文非基础教学类文章 首先工程用到的主要jar包 spring-batch-core-3.0.0.jar quartz-2.1.6.jar (一) quartz实现  实际开发...

Spring整合定时任务调度框架Quartz实战

定时的任务处理在程序开发中应用的相当普遍,之前一直使用JDK的Timer类库来做任务调度功能不是很方便,因为它不能像cron服务那样可以指定具体年、月、日、时和分的时间,我们只能将时间通过换算成微秒后...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

spring batch 2: 搭建环境以及简单的Job

这节介绍如何使用spring batch。 Spring batch 默认为内存方式(HSQLDB),但是产品功能上需要进行监控job状态,以及异常情况。所以采用了存储到数据库(Mysql),那么就需...
  • cwenao
  • cwenao
  • 2016年02月03日 13:09
  • 2693
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:搭建批处理框架问题总结Spring Batch + Spring Batch Admin + Quartz
举报原因:
原因补充:

(最多只允许输入30个字)