【发布时间】:2017-07-23 20:24:01
【问题描述】:
我有一个 spring 批处理应用程序,它运行良好。它只是从文本文件中读取并写入 oracle 表。它在卡盘中执行加载。目前我已经配置了 2000 的卡盘大小。问题是,当我为这项工作实现跳过侦听器时,弹簧忽略了我给出的块大小,它一次只将一条记录插入数据库。跳过侦听器只是将无效记录写入文本文件。这是春季批处理的工作原理吗?
【问题讨论】:
-
"它一次只插入一条记录到数据库中。" - 你确定每次都是在单独的交易中完成的吗?事务边界所需的块。
-
我只是使用spring提供的JdbcBatchItemWriter。我没有写任何与交易相关的代码。我刚刚将 JPATransactionManager 配置为 spring bean。
标签: spring spring-batch