`
frankensteinlin
  • 浏览: 56625 次
  • 性别: Icon_minigender_1
  • 来自: ShangHai
社区版块
存档分类
最新评论

Spring Batch Getting Started

阅读更多
首先建立工程:
   【1】download STS 实际上就是eclipse+spring的一些plugin非常好用 -->http://www.springsource.com/products/sts
   【2】new->spring Template Project -> spring batch project
剩下的,直接运行各个junt的test都能够完美通过。

然后来读一下代码:  
    这个template的结构很简单主要是给大家做模板用的么!
一个reader 一个write 基本就结束了。
配置也很清晰,一个launch-context.xml 还有一个module-context.xml.
但是运行的时候还是有几点让我感到疑惑:
【1】batch.properties中有这样一句 batch.schema.script=schema-hsqldb.sql ,但是我横竖在源代码中没有找到,但是成寻运行很完美,神奇啊。
按我的理解schema-hsqldb.sql应该放的是spring batch 执行时的状态信息的表结构的,比如表BATCH_JOB_INSTANCE的表结构之类的。仔细一找,哈哈原来躲在 spring-batch-core-xx.jar里面呢。
【2】表结构是如何在数据库里面创建的呢?
答案就在类DataSourceInitializer它执行的时候会读取schema-hsqldb.sql的内容创建表结构。
【3】DataSourceInitializer是何时执行的的呢?
这个问题困扰我了很久,最后发现只要是单列的,基本上xml load分析的过程中都会把里面定义的bean初始化。为此我还做了个测试建立个普通的bean然后在lauch-context中定义,发现在load的时候也被初始化了。
【4】如果不以mem的方式运行hsql呢?
   将batch.properties的 #batch.jdbc.url=jdbc:hsqldb:mem:testdb;sql.enforce_strict_size=true 注销。打开配置batch.jdbc.url=jdbc:hsqldb:hsql://localhost:9001/samples
   另外还需要在工程目录下建立一个server.properties文件简单如下
   <code>
   server.database.0     file:./samples
       server.dbname.0 samples
       </code>
   然后先启动hsql数据库,让后启动测试程序,完美。再用DbVisualizer Free 6.5.4查看一下数据库的内容果然所有的状态都很好的保存在了数据库中。
   由于server方式运行的hsql的数据库是有持久性的,所以要再次运行测试必须完成以下两步。
      第一步:在launch-context.xml中将DataSourceInitializer的部分注销,应为数据库只需要初始化一次。
   第二步将工程目录下的samples .script insert部分删除。否则会主键冲突。
  
总结:
    这个simple的template虽然很简单,但是对于理解spring batch的运行过程还是很有帮助的。至少对spring batch 的几个组件有了初步的了解。
jobRepository jobLauncher job1 step1 reader writer
分享到:
评论
2 楼 mbsky 2014-03-10  
xiandaoyan 写道
文章很好,楼主可不可以把spring-batch-core-xx.jar包给出来啊!

1 楼 xiandaoyan 2009-11-25  
文章很好,楼主可不可以把spring-batch-core-xx.jar包给出来啊!

相关推荐

    SpringBatch+Spring+Mybatis+MySql (spring batch 使用jar)

    Spring Batch是一个轻量级的,完全面向Spring的批处理框架,可以应用于企业级大量的数据处理系统。Spring Batch以POJO和大家熟知的Spring框架为基础,使开发者更容易的访问和利用企业级服务。Spring Batch可以提供...

    Spring Batch in Action英文pdf版

    Spring Batch是一个开源的轻量级、全面的批处理框架,它是为了解决企业应用中的大规模数据处理需求而设计的。Spring Batch in Action是一本专注于Spring Batch框架的书籍,由Arnaud Cogoluègnes、Thierry Templier...

    Spring Boot整合Spring Batch,实现批处理

    在Java开发领域,Spring Boot和Spring Batch的整合是构建高效批处理系统的一种常见方式。Spring Boot以其简洁的配置和快速的启动能力深受开发者喜爱,而Spring Batch作为Spring框架的一部分,专注于批量处理任务,...

    quartz整合springbatch动态集群定时实现mysql参考

    Quartz和Spring Batch是两种非常重要的Java开源框架,它们在企业级应用开发中扮演着重要角色。Quartz主要用于任务调度,而Spring Batch则专注于批量处理。在这个“quartz_springbatch_dynamic”项目中,我们将看到...

    springbatch 详解PDF附加 全书源码 压缩包

    **Spring Batch 深度解析** Spring Batch 是一个强大的、全面的批处理框架,由 Spring 社区开发,旨在简化企业级应用中的批量数据处理任务。这个框架提供了一种标准的方式来处理大量的数据输入和输出,使得开发者...

    Spring Batch批处理框架

    Spring Batch是一个开源的轻量级批处理框架,它提供了一整套可复用的组件,用于构建健壮且高效的批处理应用程序。由于信息给定的【部分内容】并没有提供实际的技术细节,因此我将基于Spring Batch框架本身,详细介绍...

    基于Spring Batch的大数据量并行处理

    ### 基于Spring Batch的大数据量并行处理 #### 概述 Spring Batch是一款用于高效处理大量数据的开源框架,特别适用于批处理任务。它由Spring Source与Accenture合作开发,结合了双方在批处理架构和技术上的优势,...

    The Definitive Guide to Spring Batch, 2nd Edition.epub

    Work with all aspects of batch processing in a modern Java environment using a selection of Spring frameworks. This book provides up-to-date examples using the latest configuration techniques based on...

    Spring Batch API(Spring Batch 开发文档).CHM

    Spring Batch API(Spring Batch 开发文档).CHM。 官网 Spring Batch API,Spring Batch 开发文档

    springBoot+springBatch批量处理数据demo

    SpringBoot和SpringBatch是两个非常重要的Java开发框架,它们在企业级应用开发中扮演着重要角色。SpringBoot简化了Spring应用程序的配置和启动过程,而SpringBatch则专注于批处理任务,提供了一套全面且可扩展的解决...

    spring-batch包

    Spring Batch 是一个强大的、全面的批处理框架,用于处理大量数据的处理任务。它由 Spring 框架提供支持,因此具有高度的可配置性和可扩展性,适用于各种企业级应用。Spring Batch 4.0.0 版本是该框架的一个重要版本...

    Spring batch in action

    Spring Batch是一本介绍如何使用Spring Batch框架来构建批处理应用程序的专业书籍。在软件行业中,随着各种趋势的发展,例如基于Web的应用、面向服务的架构(SOA)以及事件驱动的应用,批处理应用程序虽然存在已久,...

    spring Batch实现数据库大数据量读写

    Spring Batch 是一个强大的、可扩展的Java框架,专门用于处理批量数据处理任务,包括大量数据库数据的读取、处理和写入。它被设计为在企业级应用中处理大规模、高吞吐量的工作负载。本篇文章将深入探讨如何利用...

    SpringBatch-DataMigration SpringBatch数据迁移项目

    mybatis、springBatch、mysql、quartz、spring、springMVC 部署说明: 本项目为两个数据库,由一个数据库的表向另外一个数据库的表做数据迁移,其中数据库脚本在:/src/main/resources/sql/下面(其中data_rep中的表...

    spring-batch分区处理示例

    Spring Batch 是一个强大的Java框架,专门用于处理批量数据处理任务。在Spring Batch中,分区处理是一种优化策略,它将大型工作负载分解成多个较小、独立的任务,这些任务可以在不同的线程或甚至不同的节点上并行...

    [原创]Spring Batch 示例程序

    Spring Batch 是一个强大的Java框架,专门用于处理批量数据处理任务。在给定的"Spring Batch 示例程序"中,我们可以深入探讨这个框架的核心概念和在实际应用中的使用方式。该示例程序采用的是Spring 3作为基础框架,...

    Spring Batch 参考文档中文版

    Spring Batch是一个轻量级、全面的批处理框架,用于开发生产级的批处理应用,尤其是那些需要高效、可靠地处理大量数据的应用。Spring Batch提供了可重复使用的功能,这些功能在处理大量记录时非常重要,例如事务管理...

    Spring Batch学习demo项目源码

    Spring Batch 是一个强大的、全面的批处理框架,用于处理大量数据。它被设计为高度可配置,能够处理各种批量处理任务,包括数据导入导出、日志分析、报表生成等。这个"Spring Batch学习demo项目源码"是针对Spring ...

    Spring Batch In Action

    ### Spring Batch In Action #### 知识点一:Spring Batch 的简介 - **Spring Batch** 是一个基于 Java 的强大框架,专门设计用于处理大规模数据批处理任务。 - 它为开发人员提供了一套完整的工具来构建高效、可靠...

    Spring Batch读取txt文件并写入数据库的方法教程

    Spring Batch 是一个强大的批处理框架,它为处理大量数据提供了灵活和可扩展的解决方案。在本教程中,我们将探讨如何使用 Spring Batch 读取文本(txt)文件,并将读取到的数据处理后写入数据库。 首先,我们需要...

Global site tag (gtag.js) - Google Analytics