我努力学习 弹簧批, 但 启动导 是非常令人困惑。评论一样

你可以得到一个很好的想法 如何设立了一个工作通过检查 单元的测试 org.springframework.批。样本 包(在src/main/java)和 配置 src/main/资源/工作。

不是有帮助的。此外,我找到的样本项目非常复杂(17个非空的名称空间与109类)!是否有一个简单的地方开始使用弹簧批?

有帮助吗?

其他提示

我同意的用户指南是非常混淆(比春天的核心用户的指导,在任何汇率)。它没有充分解决一些非常重要的陷阱,你会跑起来反对在任何适度复杂的分批的情况。

重要的事情,你应该深入了作为一个新的起动,并且决定你的要求,

  • 配置的例外(当跳过,当失败,当试)
  • 使用的执行方面保持状态(例如,当使用步骤执行上下文vs工作执行上下文)。
  • 一般维修的状态(使用范围,特别是用于输入参数)

这是值得坚持。批程是非常不同于其他的服务器方式,并大大受益于通常春天的"图案的抽象"方法。

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

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

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

我最近给了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都有脚本。

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

  1. http://krams915.blogspot.jp/ 2012/02 /弹簧分批教程部分1.HTML
  2. http://krams915.blogspot.jp/ 2012/02 /弹簧分批教程部分2.HTML
  3. http://krams915.blogspot.jp/ 2012/02 /弹簧分批教程部分3.html
  4. http://krams915.blogspot.jp/ 2012/02 /弹簧分批教程部分4.html

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

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

我刚开始将Spring Batch视为我们内部批处理框架的可能替代品。实际上,创建一个具有调度作业和JMX界面的批处理服务器,以提供运行/以前运行的作业实例的概述,花了不到一天的时间。 但是,和Caoilte一样,我发现文档存在问题。主要的一个,以及一个不在文档或javadocs中的,是JobRepository需要的表。默认情况下是拥有数据库持久性JobRepository,这是我的新服务器的要求之一,但我找不到所需的表。我不得不搜索Google的高低提及它们(如果它们在文档中,那么我很乐意将盐放在我不起眼的馅饼上)。

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

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

/阿纳托

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top