我的批处理作业输入了15个不同的文件,我的工作的第一步是验证步骤,它将验证标题和总记录数,下一步是基于块的tasklet。
现在在验证中,我的tasklet中有不同的if-else案例来处理文件的不同验证,案例基于作为Job参数传递的文件名和扩展名。在这种情况下,我需要知道我的验证步骤的tasklet引用是否可以在运行时决定。即我将为15个文件的验证器提供bean引用,并根据作业参数中的文件扩展名,我的tasklet ref应该在运行时进行。
if("ICTX".equals(FilenameUtils.getExtension(filename)))
{
if(fileValidated && detailValid && agencyValid )
{
cc.getStepContext().getStepExecution().getJobExecution().getExecutionContext().put("STATUSCODE","01");
sc.setExitStatus(ExitStatus.COMPLETED);
}
}
if("SML".equals(FilenameUtils.getExtension(filename)))
{
//Validations for SML File
}
在InteropValidator java中,我已经实现了tasklet接口和编写的代码片段,如下所示:
dateChooserCombo1.setCalendarPreferredSize(new java.awt.Dimension(350, 220));