我正在迁移已经写入Spring批处理的java应用程序。该应用程序将在2个不同的环境中进行数据迁移。该应用程序的设计如下
1)根据某个标志从源DB读取一组用户ID。
2)从每个用户的源环境中的3个不同数据库中读取用户特定数据。
3)为每个用户在目标数据库中写入数据。
我还需要实现并行处理,以便一次运行10个或更多线程,每个线程将负责迁移单个用户的数据。
我是spring的新手,因此在查看配置xml的结构时遇到问题。我正在考虑先读取用户标识集的步骤,然后将其传递给第二步,该步骤将负责读取用户特定数据并编写它。但是我在实施同样的问题时遇到了问题。如果有人可以在春季批处理的情况下建议我使用相同的结构,并通过并行处理
,这将对我有所帮助答案 0 :(得分:0)
我希望这是一个单步的工作:
<job>
<step id="step1">
<tasklet>
<chunk reader="flagReader" processor="userSpecificDataProcessor" writer="databaseWriter" commit-count="10"/>
</tasklet>
</step>
</job>
flagReader将根据标志读入用户ID,处理器将按id查找额外数据并构建填充该数据的相应对象。编写器会将结果对象写入数据库。
关于并行化的要求,请查看分区步骤。我首先从基础知识开始,然后解决它们的并行化问题(一旦你运行基本工作就很容易添加)。