我发现有3个项目:
我无法理解spring-integration
和spring-batch
之间的区别。我知道春季批处理与批处理,多步骤作业,分区,统计,异常处理有关,如果我们在2GB CSV文件中间失败,则可以稍后从该位置继续。
我试图用Google搜索一些Spring批处理示例,并发现其中读写器可以完全不同的示例(文件,数据库,消息队列,sftp文件等)
最初,我认为spring集成是一组方便的连接器,它们连接到文件,数据库,消息队列,sftp文件等不同的终结点,但是看起来好像spring batch可以做到。
您能提供一些用例来使用spring batch和spring集成吗?何时我需要它们?
答案 0 :(得分:2)
Spring Integration和Spring Batch是具有不同目标的不同项目
spring-batch-integration
(spring-batch的一部分)具有允许您从Spring Integration消息流中启动批处理作业的组件,以及用于配置批处理作业以分发工作的组件(批处理作业的一部分) )使用“远程分块”或“分区”到多个“工作节点”。
答案 1 :(得分:2)
虽然Spring Batch用于启动作业和编写批处理应用程序,但是Spring Integration是另一个项目(如文档中所述),用于在基于Spring的应用程序中启用轻量级消息传递并支持与外部应用程序的集成通过声明式适配器的系统。
因此,基本上,这是两个完全不同的项目,每个项目均设计为分别在不同的级别上进行处理/操作,并且用于不同类型的需求,而另一项则无法处理,即为什么spring-batch-integration
被设计为允许两个项目一起使用,并从两个项目中受益,以达到相同的需求。
您可以在Spring Batch Integration Introduction section of the Docs中看到以下内容:
Spring Batch
的许多用户可能会遇到Spring Batch
范围之外的要求,但可以通过使用Spring Integration
来简洁地实现。相反,Spring Integration
用户可能会遇到Spring Batch
的要求,并需要一种有效地集成两个框架的方法。在这种情况下,出现了几种模式和用例,并且 Spring Batch Integration解决了这些需求。
关于需要一起使用两个项目的用例示例,我们可以面对几个类似的需求,您可以想到一个批处理作业,该批处理作业需要通过其一个步骤来解决spring集成流程,甚至需要启动Spring批处理作业的Spring集成流程。