Spring Batch 批处理框架
基本信息
作者: 刘相
出版社:电子工业出版社
ISBN:9787121252419
上架时间:2015-1-24
出版日期:2015 年2月
开本:16开
页码:404
版次:1-1

 

内容简介
Spring Batch 批处理框架
本书全面、系统地介绍了批处理框架Spring Batch,通过详尽的实战示例向读者展示了Spring Batch框架对大数据批处理的基本开发能力,并对框架的架构设计、源码做了特定的剖析;在帮助读者掌握Spring Batch框架基本功能、高级功能的同时,深入剖析了Spring Batch框架的设计原理,帮助读者可以游刃有余地掌握Spring Batch框架。
本书分为入门篇、基本篇和高级篇三部分。入门篇介绍了批处理、Spring Batch的基本特性和新特性,快速入门的Hello World等内容引领读者入门,从而进入数据批处理的世界。基本篇重点讲述了数据批处理的核心概念、典型的作业配置、作业步配置,以及Spring Batch框架中经典的三步走策略:数据读、数据处理和数据写,详尽地介绍了如何对CVS格式文件、JSON格式文件、XML文件、数据库和JMS消息队列中的数据进行读操作、处理和写操作,对于数据库的操作详细介绍了使用JDBC、Hibernate、存储过程、JPA、Ibatis等处理。高级篇提供了高性能、高可靠性、并行处理的能力,分别向读者展示了如何实现作业流的控制,包括顺序流、条件流、并行流,如何实现健壮的作业,包括跳过、重试和重启等,如何实现扩展作业及并行作业,包括多线程作业、并行作业、远程作业和分区作业等,从而实现分布式、高性能、高扩展性的数据批处理作业。
目录
第1篇 入门篇

第1章 Spring Batch简介 2
1.1 什么是批处理 2
1.2 Spring Batch 3
1.2.1 典型场景 3
1.2.2 Spring Batch架构 4
1.3 Spring Batch优势 4
1.3.1 丰富的开箱即用组件 5
1.3.2 面向Chunk的处理 5
1.3.3 事务管理能力 5
1.3.4 元数据管理 5
1.3.5 易监控的批处理应用 5
1.3.6 丰富的流程定义 5
1.3.7 健壮的批处理应用 6
1.3.8 易扩展的批处理应用 6
1.3.9 复用企业现有IT资产 6
1.4 Spring Batch 2.0新特性 6
1.4.1 支持Java5 7
1.4.2 支持非顺序的Step 7
1.4.3 面向Chunk处理 7
1.4.4 元数据访问 11
1.4.5 扩展性 11
1.4.6 可配置性 12
1.5 Spring Batch 2.2新特性 13
1.5.1 Spring Data集成 13
1.5.2 支持Java配置 13
1.5.3 Spring Retry 14
1.5.4 Job Parameters 14
1.6 开发环境搭建 15
第2章 Spring Batch之Hello World 16
2.1 场景说明 16
2.2 项目准备 16
2.2.1 项目结构 16
2.2.2 准备对账单文件 17
2.2.3 定义领域对象 18
2.3 定义job基础设施 18
2.4 定义对账Job 19
2.4.1 配置ItemReader 19
2.4.2 配置ItemProcessor 21
2.4.3 配置ItemWriter 22
2.5 执行Job 23
2.5.1 Java调用 23
2.5.2 JUnit单元测试 24
2.6 概念预览 26

第2篇 基本篇

第3章 Spring Batch基本概念 28
3.1 命名空间 29
3.2 Job 30
3.2.1 Job Instance 31
3.2.2 Job Parameters 33
3.2.3 Job Execution 34
3.3 Step 35
3.3.1 Step Execution 37
3.4 Execution Context 38
3.5 Job Repository 39
3.5.1 Job Repository Schema 39
3.5.2 配置Memory Job
Repository 40
3.5.3 配置DB Job Repository 41
3.5.4 数据库Schema 42
3.6 Job Launcher 48
3.7 ItemReader 49
3.8 ItemProcessor 50
3.9 ItemWriter 50
第4章 配置作业Job 52
4.1 基本配置 52
4.1.1 重启Job 54
4.1.2 Job拦截器 55
4.1.3 Job Parameters校验 58
4.1.4 Job抽象与继承 59
4.2 高级特性 61
4.2.1 Step Scope 61
4.2.2 属性Late Binding 62
4.3 运行Job 63
4.3.1 调度作业 65
4.3.2 命令行执行 68
4.3.3 与定时任务集成 71
4.3.4 与Web应用集成 73
4.3.5 停止Job 77
第5章 配置作业步Step 85
5.1 配置Step 86
5.1.1 Step抽象与继承 87
5.1.2 Step执行拦截器 89
5.2 配置Tasklet 92
5.2.1 重启Step 93
5.2.2 事务 94
5.2.3 事务回滚 96
5.2.4 多线程Step 97
5.2.5 自定义Tasklet 97
5.3 配置Chunk 99
5.3.1 提交间隔 102
5.3.2 异常跳过 103
5.3.3 Step重试 105
5.3.4 Chunk完成策略 107
5.3.5 读、处理事务 110
5.4 拦截器 112
5.4.1 ChunkListener 115
5.4.2 ItemReadListener 116
5.4.3 ItemProcessListener 116
5.4.4 ItemWriteListener 117
5.4.5 SkipListener 117
5.4.6 RetryListener 118
第6章 读数据ItemReader 120
6.1 ItemReader 120
6.1.1 ItemReader 120
6.1.2 ItemStream 121
6.1.3 系统读组件 122
6.2 Flat格式文件 122
6.2.1 Flat文件格式 123
6.2.2 FlatFileItemReader 125
6.2.3 RecordSeparatorPolicy 129
6.2.4 LineMapper 130
6.2.5 DefaultLineMapper 131
6.2.6 LineCallbackHandler 138
6.2.7 读分隔符文件 139
6.2.8 读定长文件 141
6.2.9 读JSON文件 143
6.2.10 读记录跨多行文件 145
6.2.11 读混合记录文件 147
6.3 XML格式文件 150
6.3.1 XML解析 150
6.3.2 Spring OXM 151
6.3.3 StaxEventItemReader 153
6.4 读多文件 156
6.5 读数据库 159
6.5.1 JdbcCursorItemReader 160
6.5.2 HibernateCursorItem
Reader 167
6.5.3 StoredProcedureItem
Reader 171
6.5.4 JdbcPagingItemReader 174
6.5.5 HibernatePagingItem
Reader 179
6.5.6 JpaPagingItemReader 183
6.5.7 IbatisPagingItemReader 186
6.6 读JMS队列 190
6.6.1 JmsItemReader 190
6.7 服务复用 194
6.8 自定义ItemReader 197
6.8.1 不可重启ItemReader 197
6.8.2 可重启ItemReader 199
6.9 拦截器 202
6.9.1 拦截器接口 202
6.9.2 拦截器异常 203
6.9.3 执行顺序 204
6.9.4 Annotation 204
6.9.5 属性Merge 205
第7章 写数据ItemWriter 207
7.1 ItemWrite 207
7.1.1 ItemWriter 208
7.1.2 ItemStream 208
7.1.3 系统写组件 209
7.2 Flat格式文件 210
7.2.1 FlatFileItemWriter 210
7.2.2 LineAggregator 214
7.2.3 FieldExtractor 217
7.2.4 回调操作 219
7.3 XML格式文件 222
7.3.1 StaxEventItemWriter 222
7.3.2 回调操作 226
7.4 写多文件 230
7.4.1 MultiResourceItemWriter 230
7.4.2 扩展MultiResourceItem
Writer 233
7.5 写数据库 234
7.5.1 JdbcBatchItemWriter 235
7.5.2 HibernateItemWriter 239
7.5.3 IbatisBatchItemWriter 242
7.5.4 JpaItemWriter 245
7.6 写JMS队列 248
7.6.1 JmsItemWriter 248
7.7 组合写 252
7.8 Item路由Writer 254
7.9 发送邮件 258
7.9.1 SimpleMailMessageItem
Writer 258
7.10 服务复用 262
7.10.1 ItemWriterAdapter 262
7.10.2 PropertyExtracting
DelegatingItemWriter 264
7.11 自定义ItemWrite 267
7.11.1 不可重启ItemWriter 267
7.11.2 可重启ItemWriter 268
7.12 拦截器 271
7.12.1 拦截器接口 271
7.12.2 拦截器异常 273
7.12.3 执行顺序 274
7.12.4 Annotation 274
7.12.5 属性Merge 275
第8章 处理数据ItemProcessor 277
8.1 ItemProcessor 277
8.1.1 ItemProcessor 277
8.1.2 系统处理组件 278
8.2 数据转换 279
8.2.1 部分数据转换 279
8.2.2 数据类型转换 281
8.3 数据过滤 282
8.3.1 数据Filter 282
8.3.2 数据过滤统计 283
8.4 数据校验 285
8.4.1 Validator 285
8.4.2 ValidatingItemProcessor 286
8.5 组合处理器 288
8.6 服务复用 291
8.6.1 ItemProcessorAdapter 291
8.7 拦截器 293
8.7.1 拦截器接口 293
8.7.2 拦截器异常 295
8.7.3 执行顺序 295
8.7.4 Annotation 296
8.7.5 属性Merge 297

第3篇 高级篇

第9章 作业流Step Flow 300
9.1 顺序Flow 300
9.2 条件Flow 302
9.2.1 next 303
9.2.2 ExitStatus VS
BatchStatus 306
9.2.3 decision条件 308
9.3 并行Flow 311
9.4 外部Flow定义 314
9.4.1 Flow 314
9.4.2 FlowStep 317
9.4.3 JobStep 319
9.5 Step数据共享 321
9.6 终止Job 323
9.6.1 end 324
9.6.2 stop 326
9.6.3 fail 327
第10章 健壮Job 330
10.1 跳过Skip 331
10.1.1 配置Skip 331
10.1.2 跳过策略SkipPolicy 333
10.1.3 跳过拦截器 335
10.2 重试Retry 338
10.2.1 配置Retry 339
10.2.2 重试策略RetryPolicy 341
10.2.3 重试拦截器 343
10.2.4 重试模板 345
10.3 重启Restart 353
10.3.1 重启Job 353
10.3.2 启动次数限制 355
10.3.3 重启已完成的任务 355
第11章 扩展Job、并行处理 357
11.1 可扩展性 357
11.2 多线程Step 358
11.2.1 配置多线程Step 359
11.2.2 线程安全性 360
11.2.3 线程安全Step 361
11.2.4 可重启的线程
安全Step 363
11.3 并行Step 365
11.4 远程Step 366
11.4.1 远程Step框架 366
11.4.2 基于SI实现远程Step 368
11.5 分区Step 373
11.5.1 关键接口 374
11.5.2 基本配置 376
11.5.3 文件分区 378
11.5.4 数据库分区 382
11.5.5 远程分区Step 387
后记 392

Spring Batch 批处理框架的更多相关文章

  1. 图书简介:Spring Batch批处理框架

    大数据时代批处理利器,国内首度原创解析Spring Batch框架. 内容简介: <Spring Batch 批处理框架>全面.系统地介绍了批处理框架Spring Batch,通过详尽的实 ...

  2. spring batch批处理框架学习

    内如主要来自以下链接: http://www.importnew.com/26177.html http://www.infoq.com/cn/articles/analysis-of-large-d ...

  3. Spring Batch 批处理框架介绍

    前言 在大型的企业应用中,或多或少都会存在大量的任务需要处理,如邮件批量通知所有将要过期的会员,日终更新订单信息等.而在批量处理任务的过程中,又需要注意很多细节,如任务异常.性能瓶颈等等.那么,使用一 ...

  4. Spring Batch 批处理原则与建议

    Spring Batch 批处理原则与建议 当我们构建一个批处理的过程时,必须注意以下原则: 通常情况下,批处理的过程对系统和架构的设计要够要求比较高,因此尽可能的使用通用架构来处理批量数据处理,降低 ...

  5. Spring Batch批处理以及编程模型

    1.批处理: 类似于SQL里面的批处理提交 2.场景: 业务定时进行批处理操作,但是批处理的编程模型是怎么的呢? 3.开源框架 Spring Batch 4.编程模型: reader-processo ...

  6. 配置 Spring Batch 批处理失败重试机制

    1. 引言 默认情况下,Spring批处理作业在执行过程中出现任何错误都会失败.然而有些时候,为了提高应用程序的弹性,我们就需要处理这类间歇性的故障. 在这篇短文中,我们就来一起探讨 如何在Sprin ...

  7. 跑批 - Spring Batch 批处理使用记录

    根据spring官网文档提供的spring batch的demo进行小的测验 启动类与原springboot启动类无异 package com.example.batchprocessing; imp ...

  8. Spring Boot 之 Spring Batch 批处理实践

    实践内容 从 MariaDB 一张表内读 10 万条记录,经处理后写到 MongoDB . 具体实现 1.新建 Spring Boot 应用,依赖如下: <!-- Web 应用 --> & ...

  9. Spring Dataflow批处理框架在OCP上的部署

    详细参考 https://donovanmuller.blog/spring-cloud-dataflow-server-openshift/docs/1.2.1.RELEASE/reference/ ...

随机推荐

  1. 介绍开源的.net通信框架NetworkComms框架 源码分析(八)SharpZipLibGzipCompressor

    原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架  作者是英国人  以前是收费的 目前作者已经开源  许可是 ...

  2. C# 站点IP访问频率限制 针对单个站点

    0x00 前言 写网站的时候,或多或少会遇到,登录,注册等操作,有时候,为了防止别人批量进行操作,不得不做出一些限制IP的操作(当前也可以用于限制某个账号的密码校验等). 这样的简单限制,我们又不想对 ...

  3. GitHub上下载源代码的方法

    GitHub上找到自己要下载的项目以后,有3种方法可以下载源代码. 第一种是复制该项目的地址,然后用其他软件下载: 第二种是安装了官方客户端,可以直接点击"Clone in Desktop& ...

  4. Web Service代理类生成工具

    本文原文连接:http://www.cnblogs.com/dengxinglin/p/3334158.html 之前一篇文章写 Web Service服务代理类生成及编译 , 通过命令行的方式可以直 ...

  5. mysql与oracle常用函数及数据类型对比

    最近在转一个原来使用oracle,打算改为mysql的系统,有些常用的oracle函数的mysql实现顺便整理了下,主要是系统中涉及到的(其实原来是专门整理过一个详细doc的,只是每次找word麻烦) ...

  6. net user命令集合详解

    net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net use \\ip\ipc$ "密码" /user: ...

  7. Exchange 2013 、Lync 2013、SharePoint 2013 三

    前两篇介绍的是关于Exchange 与 Lync 之间的配制关系,这一篇介绍关于Lync.Exchange 与 SharePoint 之间建立信任关系. 首先要创建基于SSL的SharePoint A ...

  8. 使用<link> 标签定义浏览器标题栏小图标

    使用link标签的rel属性,设置成icon.同时设置href属性值为小图标图片的url. <link rel=" icon " href="image/icon. ...

  9. Fixed Responsive Nav – 响应式的单页网站导航插件

    Fixed Responsive Nav 是一个响应式的,固定的,触摸友好的单页网站导航插件,响应式导航,流畅的动画滚动.该项目采用渐进增强构建,支持工作在 IE6 及以上版本的浏览器. 你可以给导航 ...

  10. 变量作用域&函数作用域

    一. 变量作用域 1)全局变量 在全局环境下声明的变量被视为全局变量. 在没有使用var进行声明的时候,变量就被定义为全局变量.在ES5的严格模式下,如果变量没有使用var来声明是会报错的. 2)局部 ...