如何开始使用Spring Batch?

C. *_*oss 48 spring-batch

我正在尝试学习Spring Batch,但启动指南非常令人困惑.评论喜欢

通过检查org.springframework.batch.sample包中的单元测试(在src/main/java中)和src/main/resources/jobs中的配置,可以很好地了解如何设置作业.

并不完全有用.另外我发现Sample项目非常复杂(17个非空命名空间,109个类)!有没有一个更简单的地方开始使用Spring Batch?

Pas*_*ent 36

几点建议:

  • 是的,不要期望在一夜之间计算配置文件:) (2认同)

Cao*_*lte 8

我同意用户指南非常混乱(无论如何与Spring Core用户指南相比).它没有充分解决您在任何中等复杂的批处理场景中遇到的一些非常重要的陷阱.

您应该深入了解作为新入门者的重要事项,并确定您的要求是,

  • 异常配置(何时跳过,何时失败,何时重试)
  • 使用执行上下文来维护状态(例如,何时使用步骤执行上下文与作业执行上下文).
  • 状态的一般维护(使用步长范围,尤其是输入参数)

然而值得坚持不懈.批处理编程与其他服务器端样式非常不同,并且通常采用Spring"模式抽象"方法.


rtp*_*son 5

在你跳上Spring Batch旅行车之前,你可能想要阅读SO自己的关于它的缺点的说法:

http://www.cforcoding.com/2009/07/spring-batch-or-how-not-to-design-api.html.

我最近评估了Spring Batch,并且一旦我意识到除了臃肿和开销之外它没有给我的项目增加任何东西,我很快就拒绝了它.Spring Batch最终可能会成为一个好的产品(就像这次EJB一样正确),但目前它看起来像是一个寻找问题的解决方案.


Win*_*ked 5

我最近给了Spring Batch一个真正的尝试.我会说在我的实现中,我使用了内存存储库(因为重启和重试不是我项目环境中的优先级),但我可以理解Richard对JobRepository的看法:你基本上需要深入挖掘数据库架构.

对于Spring Batch 2.1,它们确实提供了有关存储库的一些文档:http://static.springsource.org/spring-batch/reference/html/metaDataSchema.html,包括有关如何处理特定于数据库的实现的讨论.用于创建表的DDL位于核心Spring Batch JAR文件中:

弹簧批次核心2.1.0.RELEASE.jar:/组织/ springframework的/批号/核心/*SQL

脚本适用于DB2,Derby,H2,HSQLDB,MySQL,Oracle 10g,PostgreSQL,MS SQL和Sybase.


小智 5

在本教程中,我们将创建一个简单的Spring Batch应用程序来演示如何处理一系列作业,其主要目的是导入逗号分隔和固定长度记录的列表.此外,我们将使用Spring MVC添加一个Web界面来教授如何手动触发作业,以便我们可以直观地检查导入的记录.在数据层中,我们将使用JPA,Hibernate和MySQL.

  1. http://krams915.blogspot.jp/2012/02/spring-batch-tutorial-part-1.html
  2. http://krams915.blogspot.jp/2012/02/spring-batch-tutorial-part-2.html
  3. http://krams915.blogspot.jp/2012/02/spring-batch-tutorial-part-3.html
  4. http://krams915.blogspot.jp/2012/02/spring-batch-tutorial-part-4.html