搭建批处理框架问题总结Spring Batch + Spring Batch Admin + Quartz
来源:互联网 发布:达梦数据库公司 编辑:程序博客网 时间:2024/05/05 07:23
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 + Spring Batch Admin + Quartz
- Spring Batch 批处理框架
- Spring Batch 批处理框架
- Spring batch批处理框架
- Spring Batch 批处理框架
- Spring Batch批处理框架
- Spring Batch批处理框架初探
- Spring Batch 批处理框架介绍
- Spring Batch批处理框架了解
- Spring Boot 集成 批处理框架Spring batch
- 9.2 批处理Spring Batch
- spring batch 框架版本问题
- 图书简介:Spring Batch批处理框架
- 大数据批处理框架Spring Batch
- 大数据批处理框架 Spring Batch
- Spring Batch入门教程及其框架搭建
- Spring Batch入门教程及其框架搭建
- Spring Batch框架介绍
- vsftp实例【用于文件的存储和共享】
- IEEEtran 引文文件中的链接url去除方法 [Remove URL in IEEEtran bibliography]
- MySql索引
- leetcode 44: Wildcard Matching
- 程序员职场务必了解的薪资待遇
- 搭建批处理框架问题总结Spring Batch + Spring Batch Admin + Quartz
- linux下SD卡驱动分析(一)
- Proving Equivalences (hdu 2767 强联通缩点)
- python中一些编程函数
- UITableView 自带编辑删除 自定义按钮
- 忍受未知很重要
- fastjson 使用
- First App
- 2.5 利用HCatalog管理元数据