在我的春季批处理作业中,我的项目处理器将项目读取器读取的对象拆分为七个可变长度列表.必须将这些列表写入数据库中的七个表,并且任何错误(例如因任何原因拒绝记录的数据库)必须导致事务在所有七个表上回滚.
目前,我使用这七个列表创建一个包装对象,这些列表将传递给自定义项目编写器.编写器获取所有这些项目,创建自己的七个列表,以便它只有七个批量写入(使用基于JdbcTemplate的DAO)来处理项目处理器返回的一批包装对象.
我的编写器顺序调用每个表的插入函数,我想加快.我想知道我是否可以将列表并行编写到各自的表中,以便总执行时间是写入时间最长的时间.我不能妥协的一个要求是,这必须在单个事务中,如果任何编写者有任何异常,则需要回滚.
spring-batch ×1