要求:
必须处理多个文件并将其映射到entities
目前的执行情况:
MultiResourcePartitioner读取多个文件,TaskExecutor使其多线程。
Step s1 = sbf.get("file-db")
.<Person, Person>chunk(1500)
.reader(reader())
.writer(jdbcWriter())
.build();
Step master = sbf.get("master-step")
.listener(stepExecutionListener())
.partitioner("master", partitioner())
.step(s1)
.taskExecutor(taskExecutor())
.build();问题是:
仅从每个线程中的单个文件中的条目持久化到数据库是效率低下的。在使用内置的春季批处理功能提交到DB之前,是否有可能将实体集中在某些数据接收器中?或者,实现这一目标的唯一方法是将实体推送到一个简单的队列中,然后从队列中读取?
发布于 2020-09-29 13:10:53
我发现的“解决办法”是实现一个与MultiResourcePartitioner类似的自定义MultiResourcePartitioner,并将文件名列表推送到ExectionContext。
https://stackoverflow.com/questions/64075719
复制相似问题