Spring 批量添加自定义字段
Spring Batch Add Custom Fields
我以前从未使用过 Spring 批处理,但它似乎是我试图完成的任务的可行选择。我需要每晚处理 10 个机构的大约 15 个 CSV 文件。我将 CSV 存储到 Oracle 数据库中的暂存 tables 中。
CSV 文件可能如下所示。
DEPARTMENT_ID,DEPARTMENT_NAME,DEPARTMENT_CODE
100,Computer Science & Engineering,C5321
101,Math,M333
...
但是,当我处理该行并将其添加到数据库时,我需要填写一个机构 ID,该机构 ID 将根据当时正在处理的文件夹确定。
数据库table喜欢这样
INSTITUTION_ID,DEPARTMENT_ID,DEPARTMENT_NAME,DEPARTMENT_CODE
1100,100,Computer Science & Engineering,C5321
还需要对 CSV 文件中的每一行进行验证。 Spring Batch 也可以处理吗?
我看到了对 CustomItemReader 和 CustomItemWriter 的引用,但不确定这是否是我需要的。我看到的示例看起来很简单,只是将 CSV 完全原封不动地转储到匹配的 table 中。
是的,您报告的所有任务都可以 spring 批处理 -
对于 Reader,您可以使用 - 多资源项 Reader,您的通配符名称与您的 - 文件名相匹配。
要验证文件中的行,您可以使用项目处理器并处理验证。
对于您的情况,您不需要使用自定义项目编写器 - 您可以在 XML 文件中将项目编写器配置为数据库项目编写器。
我建议您使用基于 XML 的方法进行 Spring 批量实施。
XML 将用于配置批处理的所有架构 - 如
job -- step -- chunk -- reader -- processor -- writer
要跟踪错误和异常,您可以在每个阶段实施侦听器。
-- step Execution Listener
-- 项目 Reader 听众
-- 项目处理器监听器
-- 项目编写器监听器
我以前从未使用过 Spring 批处理,但它似乎是我试图完成的任务的可行选择。我需要每晚处理 10 个机构的大约 15 个 CSV 文件。我将 CSV 存储到 Oracle 数据库中的暂存 tables 中。
CSV 文件可能如下所示。
DEPARTMENT_ID,DEPARTMENT_NAME,DEPARTMENT_CODE
100,Computer Science & Engineering,C5321
101,Math,M333
...
但是,当我处理该行并将其添加到数据库时,我需要填写一个机构 ID,该机构 ID 将根据当时正在处理的文件夹确定。
数据库table喜欢这样
INSTITUTION_ID,DEPARTMENT_ID,DEPARTMENT_NAME,DEPARTMENT_CODE
1100,100,Computer Science & Engineering,C5321
还需要对 CSV 文件中的每一行进行验证。 Spring Batch 也可以处理吗?
我看到了对 CustomItemReader 和 CustomItemWriter 的引用,但不确定这是否是我需要的。我看到的示例看起来很简单,只是将 CSV 完全原封不动地转储到匹配的 table 中。
是的,您报告的所有任务都可以 spring 批处理 -
对于 Reader,您可以使用 - 多资源项 Reader,您的通配符名称与您的 - 文件名相匹配。
要验证文件中的行,您可以使用项目处理器并处理验证。
对于您的情况,您不需要使用自定义项目编写器 - 您可以在 XML 文件中将项目编写器配置为数据库项目编写器。
我建议您使用基于 XML 的方法进行 Spring 批量实施。
XML 将用于配置批处理的所有架构 - 如
job -- step -- chunk -- reader -- processor -- writer
要跟踪错误和异常,您可以在每个阶段实施侦听器。
-- step Execution Listener
-- 项目 Reader 听众 -- 项目处理器监听器 -- 项目编写器监听器