编程语言
首页 > 编程语言> > java-在运行时动态选择Spring-Batch阅读器

java-在运行时动态选择Spring-Batch阅读器

作者:互联网

我有一个春季批处理工作,可以将各种银行对帐单转换为我的应用程序.每种银行对帐单类型都有一个不同的读取器,而所有这些都只有一个写入器.这项工作非常简单-读取,处理和写入:

<batch:job id="importer" restartable="true">
    <batch:step id="import">
        <batch:tasklet>
            <batch:chunk reader="reader" writer="writer" processor="processor" commit-interval="10" />
        </batch:tasklet>
    </batch:step>
</batch:job>

现在,我希望最终用户提供对帐单文件以及银行信息,然后在运行时选择相应的spring-batch阅读器以运行此作业.理想情况下,如果我可以第一步先阅读并尝试先“猜测”银行表格对帐单格式,那就太好了.但是我离题了.

是否可以在运行作业之前将阅读器注入作业?还是有更好的方法实现我的目标?

解决方法:

您可以从输入参数或属性文件设置阅读器:

<batch:chunk reader="#{jobParameters['reader.beanId']}" writer="writer" processor="processor" commit-interval="10" />

您也可以考虑作业和步骤属性的后期绑定,这是spring-batch step-scope的链接

标签:spring-batch,spring,java
来源: https://codeday.me/bug/20191201/2083826.html