代码之家  ›  专栏  ›  技术社区  ›  C. Ross trotttrotttrott

我如何开始春季批次?[关闭]

  •  47
  • C. Ross trotttrotttrott  · 技术社区  · 15 年前

    我在努力学习 Spring Batch 但是 startup guide 非常混乱。评论像

    你可以很好地了解 如何通过检查 中的单元测试 org.spring框架.batch.sample 包(在SRC/Me/Java中)和 配置 SRC/主/资源/作业。

    完全没有帮助。 另外,我发现示例项目非常复杂(17个具有109个类的非空命名空间)!有没有一个更简单的地方开始春季批?

    8 回复  |  直到 6 年前
        2
  •  7
  •   Caoilte    15 年前

    我同意用户指南非常混乱(与SpringCore用户指南相比,无论如何)。在任何中等复杂的批处理场景中,它都不能充分解决一些非常重要的问题。

    作为一个新的开始者,你应该深入了解一些重要的事情,并决定你的需求是,

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

    但是值得坚持。批处理编程与其他服务器端风格非常不同,并且从通常的Spring“模式抽象”方法中获益匪浅。

        3
  •  5
  •   rtperson    15 年前

    在你跳上春季批量车之前,你可能想看看苏氏自己的谱号对它的缺点有什么看法:

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

    我最近评估了Spring批处理,当我意识到除了膨胀和开销之外,它没有给我的项目增加任何东西时,我很快就拒绝了它。Spring批处理最终可能会成为一个不错的产品(很像EJB这次所做的那样),但目前它看起来可疑地像是寻找问题的解决方案。

        4
  •  5
  •   WineSoaked    15 年前

    我最近真的试了一次春药。我要说的是,在我的实现中,我使用了一个内存中的存储库(因为重启和重试在我的项目环境中不是一个优先事项),但是我可以欣赏Richard对JobRepository的描述:基本上,你必须深入挖掘才能找到数据库模式。

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

    spring-batch-core-2.1.0.release.jar:/org/springframework/batch/core/*.sql

    DB2、Derby、H2、HSQLDB、MySQL、Oracle 10g、PostgreSQL、MS SQL和Sybase都有脚本。

        5
  •  5
  •   cleverpig    12 年前

    在本教程中,我们将创建一个简单的Spring批处理应用程序,以演示如何处理一系列主要目的是导入逗号分隔和固定长度记录列表的作业。此外,我们还将添加一个使用SpringMVC的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
        6
  •  3
  •   Vicky    13 年前

    https://github.com/langmi/spring-batch-examples

    这包含一些非常好的基本示例。

        7
  •  1
  •   Richard    15 年前

    我刚开始考虑将Spring批处理作为我们内部批处理框架的一个可能替代。实际上,创建一个具有调度作业功能的批处理服务器和一个JMX接口,以提供运行/以前运行的作业实例的概述,所花费的时间不超过一天。 但是,像Caoilte一样,我发现文档存在问题。主要的一个是jobrepository所需要的表,而文档或javadocs中没有这个表。默认情况下是有一个数据库持久性作业存储库,这是我的新服务器的要求之一,但我找不到任何关于所需表的提及。我必须在谷歌上下搜索他们(如果他们在文档中,那么我会很乐意在我的小馅饼上撒盐)。

    我认为实际上创建一个在Spring批处理中运行的批处理是一项相当复杂的任务,因为您可以使用大量的配置选项。这是我眼中的力量。它提供了在XML中配置复杂批处理任务的机会,我还没有在任何其他批处理框架中找到这些任务(我知道)。但是如果你真的不想利用Spring批处理的能力,为什么不只用一个tasklet步骤来创建一个工作(但是你必须问问自己它是否值得开销)。

        8
  •  1
  •   tolitius    15 年前

    太糟糕了,你们放弃了它,框架实际上非常棒。但如果其他人需要快速启动,请尝试: Spring Batch Quick Start

    阿纳托利