Spring 规则批次
Spring batch for rules
我是 Spring Batch 的新手。我需要 运行 每晚批处理:
- 从tableA读取记录,
- 对于 table A 中的每条记录,
- 运行 大约 10 个业务规则涉及从数据库读取数据(在每个规则中)和
- 在每条规则中写入tableB,规则的结果
我还需要一些方法来运行根据需要为来自 table 的较小记录子集设置规则 A. Spring Batch 是一个好的选择吗?我可以将数据访问逻辑和业务逻辑放在 ItemProcessor
中吗?
非常感谢任何帮助。
这是我所做的:
- 创建了一个扩展
JdbcCursorItemReader
的 DiscountReader
,它根据日期和其他条件获取折扣程序 _ returns DiscountObj 类型的对象
- 创建了一个实现
ItemProcessor
的 SalesProcessor
,其中我有 (a) SalesReader
应该读取另一组 table 以获取销售记录匹配当前 DiscountObj (b) SalesWriter 的参数,它应该将 SalesReader
获取的数据写入另一个 table.
SalesReader
执行的查询的参数是动态的,因为它必须从当前 DiscountObj
中提取。如何将 SalesReader
的值设置到 PreparedStatement
中?我尝试使用 PreparedStatementSetter
,但是,甚至在设置值之前就开始执行查询。
非常感谢help/pointers。
您描述的是一个非常常见的 Spring 批处理用例。 Spring Batch 基于块的步骤读取每个项目,将其传递给处理器,然后在处理完每个块的项目数后,写出所有项目。
使用 JdbcCursorItemReader
读取输入,开发自己的 ItemProcessor
来应用规则,并使用 JdbcBatchItemWriter
写入输出是我所期望的。
我是 Spring Batch 的新手。我需要 运行 每晚批处理:
- 从tableA读取记录,
- 对于 table A 中的每条记录,
- 运行 大约 10 个业务规则涉及从数据库读取数据(在每个规则中)和
- 在每条规则中写入tableB,规则的结果
我还需要一些方法来运行根据需要为来自 table 的较小记录子集设置规则 A. Spring Batch 是一个好的选择吗?我可以将数据访问逻辑和业务逻辑放在 ItemProcessor
中吗?
非常感谢任何帮助。
这是我所做的:
- 创建了一个扩展
JdbcCursorItemReader
的DiscountReader
,它根据日期和其他条件获取折扣程序 _ returns DiscountObj 类型的对象 - 创建了一个实现
ItemProcessor
的SalesProcessor
,其中我有 (a)SalesReader
应该读取另一组 table 以获取销售记录匹配当前 DiscountObj (b) SalesWriter 的参数,它应该将SalesReader
获取的数据写入另一个 table.
SalesReader
执行的查询的参数是动态的,因为它必须从当前 DiscountObj
中提取。如何将 SalesReader
的值设置到 PreparedStatement
中?我尝试使用 PreparedStatementSetter
,但是,甚至在设置值之前就开始执行查询。
非常感谢help/pointers。
您描述的是一个非常常见的 Spring 批处理用例。 Spring Batch 基于块的步骤读取每个项目,将其传递给处理器,然后在处理完每个块的项目数后,写出所有项目。
使用 JdbcCursorItemReader
读取输入,开发自己的 ItemProcessor
来应用规则,并使用 JdbcBatchItemWriter
写入输出是我所期望的。