spring batch 使用ItemReaderAdapter导致读写无限循环问题
来源:互联网 发布:天刀血玲珑捏脸数据导 编辑:程序博客网 时间:2024/06/07 07:45
当同步数据时reader 或者 writer 调用现有的 service时候, 会用到ItemReaderAdapter或者ItemWriterAdapter
例如
ItemReaderAdapter adapter = new ItemReaderAdapter();adapter.setTargetObject(orderService);adapter.setTargetMethod("dealOrder");
但是上面的写法,会导致reader 和 writer 无限循环,不能停止因此需要reader 计数 重新实现 ItemStreampublic class OrderAdapterReader extends AbstractItemCountingItemStreamItemReader { @Autowired private OrderService orderService; @Autowired private HubOrderSqlOperation hubOrderSqlOperation; private List<MongoOrder> mongoOrderList; private final String ecName = "orderReaderContext"; public OrderAdapterReader() { setName(ecName); } @Override protected MongoOrder doRead() throws Exception { MongoOrder mongoOrder = mongoOrderList.get(getCurrentItemCount() - 1); return mongoOrder; } @Override protected void doOpen() throws Exception { mongoOrderList = (List<MongoOrder>) orderService.getDayOrders().getData(); if (CollectionUtils.isEmpty(mongoOrderList)){ setMaxItemCount(0); }else{ List<Long> orderIds = mongoOrderList.stream().map(MongoOrder::getId).collect(Collectors.toList()); hubOrderSqlOperation.deleteOrderByIds(orderIds); setMaxItemCount(mongoOrderList.size()); } } @Override protected void doClose() throws Exception { if (!CollectionUtils.isEmpty(mongoOrderList)){ mongoOrderList.clear(); } setMaxItemCount(0); setCurrentItemCount(0); }}
阅读全文
0 0
- spring batch 使用ItemReaderAdapter导致读写无限循环问题
- spring batch(xml文件读写)
- Spring MVC中JSON无限死循环问题
- spring mvc JSON 无限死循环的问题
- spring-batch使用
- 解决spring mvc +hibernate整合时使用jackson返回json数据无限循环问题的官方解决方案
- spring Batch实现数据库大数据量读写
- Spring Batch之复合格式文件的读写
- spring Batch实现数据库大数据量读写
- spring Batch实现数据库大数据量读写
- 关于ListView中多个EditText之间相互联动导致无限循环问题的解决方法
- spring batch 框架版本问题
- viewpager无限循环的问题
- 使用Spring batch进行批处理
- TreeView 无限循环使用全过程!
- 使用handler实现无限循环
- 使用Handler实现无限循环
- 解决spring mvc JSON 无限死循环
- 在Windows上安装Elasticsearch 5.x
- Io流的FileInputStream和FileOutputStream的读取和写入
- 菜鸡看jQurey源码(1)
- 浅析机器学习中的模型选择与调参(cross validation + grid search)
- Java疯狂讲义读书笔记第一章
- spring batch 使用ItemReaderAdapter导致读写无限循环问题
- POWERPC 汇编指令tips
- 全球用户信息泄露事故频发 企业须加强防范
- PHPStorm10提高内存限制的方法
- 判断一个整数能否同时被3和5整除
- 关于angular的三个绑定策略 @、=、&
- Spark集群worker启动起来,一会停掉原因--尝试
- 依据XML定义报文格式解析数据
- ALV报表复制程序标准工具栏