Spring Batch 集成
许多 Spring Batch 用户可能会遇到超出 Spring Batch 范围的需求,但这些需求可以通过使用 Spring Integration 高效且简洁地实现。反之,Spring Integration 用户也可能遇到需要 Spring Batch 功能的场景,并需要一种方法来高效地整合这两个框架。在此背景下,涌现出了多种模式和用例,而 Spring Batch Integration 正是为了解决这些需求而生。
Spring Batch 和 Spring Integration 之间的界限并不总是清晰的,但两条建议可以提供帮助:思考粒度并应用常见模式。本节将描述其中一些常见模式。
在批处理过程中添加消息功能可以实现操作的自动化,同时分离和规划关键关注点。 例如,一条消息可能会触发一个作业执行,而发送该消息可以通过多种方式暴露出来。或者,当作业完成或失败时,该事件可能会触发一条消息的发送,而这些消息的消费者可能拥有与应用程序本身无关的操作关注点。 消息功能也可以嵌入到作业中(例如,通过通道读取或写入待处理的项目)。 远程分区和远程分块提供了在多个工作节点之间分布负载的方法。
本节涵盖以下关键概念: