【发布时间】:2021-06-16 10:16:08
【问题描述】:
我有一个 spring 批处理应用程序,它可以导入 excel 文件,它会生成一个带有状态列的输出 excel 文件,可以是成功也可以是失败。目前该应用程序正在工作文件。 下面是准备job参数的代码
JobParameters jobParametersBuilder = new JobParametersBuilder().addString(TYPE, type)
.addString(NAME, name).addString(FULL_PATH_FILE_NAME, filePath)
.addLong(TIME, System.currentTimeMillis()).addString(OUTPUT_FILE_NAME, outputFile)
.addString(INPUT_FILE_NAME, inputFile).toJobParameters();
如您所见,我已经在参数中指定了输出文件的名称。 现在如上所述,可以在输出 excel 文件的状态列中输入两个值。如果状态栏出现错误,有什么办法可以改变输出文件名
例如:如果任何状态列中都没有错误,则输出名称应与之前相同 output-xyz_currentTimeStamp(样本名称) 但是如果状态列中有错误,那么文件名应该是 output/error-xyz_currentTimeStamp(样本名称)。
我想知道如果参数中已经指定了名称,那么如何在出错的情况下动态更改文件名。
【问题讨论】:
-
该状态是如何计算/确定的?请举一个具体的输入/输出文件的例子,以便能够有效地帮助你。
-
我已经添加了输出文件。没有状态列的输入文件是相同的。如果 excel 中的特定行已成功保存在数据库中,则输出文件的状态列将设置为该特定行的 SUCCESS 否则可能会出现一些异常,例如某些验证失败,然后将在状态列中设置该特定异常。现在假设该文件包含异常,那么我们应该能够将该文件命名为上述问题中提到的文件。