首页 技术 正文
技术 2022年11月10日
0 收藏 449 点赞 4,146 浏览 4863 个字

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框架。
本书分为入门篇、基本篇和高级篇三部分。入门篇介绍了批处理、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 Batch3
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 支持Java57
1.4.2 支持非顺序的Step7
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 Retry14
1.5.4 Job Parameters14
1.6 开发环境搭建15
第2章 Spring Batch之Hello World16
2.1 场景说明16
2.2 项目准备16
2.2.1 项目结构16
2.2.2 准备对账单文件17
2.2.3 定义领域对象18
2.3 定义job基础设施18
2.4 定义对账Job19
2.4.1 配置ItemReader19
2.4.2 配置ItemProcessor21
2.4.3 配置ItemWriter22
2.5 执行Job23
2.5.1 Java调用23
2.5.2 JUnit单元测试24
2.6 概念预览26

第2篇 基本篇

第3章 Spring Batch基本概念28
3.1 命名空间29
3.2 Job30
3.2.1 Job Instance31
3.2.2 Job Parameters33
3.2.3 Job Execution34
3.3 Step35
3.3.1 Step Execution37
3.4 Execution Context38
3.5 Job Repository39
3.5.1 Job Repository Schema39
3.5.2 配置Memory Job
Repository40
3.5.3 配置DB Job Repository41
3.5.4 数据库Schema42
3.6 Job Launcher48
3.7 ItemReader49
3.8 ItemProcessor50
3.9 ItemWriter50
第4章 配置作业Job52
4.1 基本配置52
4.1.1 重启Job54
4.1.2 Job拦截器55
4.1.3 Job Parameters校验58
4.1.4 Job抽象与继承59
4.2 高级特性61
4.2.1 Step Scope61
4.2.2 属性Late Binding62
4.3 运行Job63
4.3.1 调度作业65
4.3.2 命令行执行68
4.3.3 与定时任务集成71
4.3.4 与Web应用集成73
4.3.5 停止Job77
第5章 配置作业步Step85
5.1 配置Step86
5.1.1 Step抽象与继承87
5.1.2 Step执行拦截器89
5.2 配置Tasklet92
5.2.1 重启Step93
5.2.2 事务94
5.2.3 事务回滚96
5.2.4 多线程Step97
5.2.5 自定义Tasklet97
5.3 配置Chunk99
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 ChunkListener115
5.4.2 ItemReadListener116
5.4.3 ItemProcessListener116
5.4.4 ItemWriteListener117
5.4.5 SkipListener117
5.4.6 RetryListener118
第6章 读数据ItemReader120
6.1 ItemReader120
6.1.1 ItemReader120
6.1.2 ItemStream121
6.1.3 系统读组件122
6.2 Flat格式文件122
6.2.1 Flat文件格式123
6.2.2 FlatFileItemReader125
6.2.3 RecordSeparatorPolicy129
6.2.4 LineMapper130
6.2.5 DefaultLineMapper131
6.2.6 LineCallbackHandler138
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 OXM151
6.3.3 StaxEventItemReader153
6.4 读多文件156
6.5 读数据库159
6.5.1 JdbcCursorItemReader160
6.5.2 HibernateCursorItem
Reader167
6.5.3 StoredProcedureItem
Reader171
6.5.4 JdbcPagingItemReader174
6.5.5 HibernatePagingItem
Reader179
6.5.6 JpaPagingItemReader183
6.5.7 IbatisPagingItemReader186
6.6 读JMS队列190
6.6.1 JmsItemReader190
6.7 服务复用194
6.8 自定义ItemReader197
6.8.1 不可重启ItemReader197
6.8.2 可重启ItemReader199
6.9 拦截器202
6.9.1 拦截器接口202
6.9.2 拦截器异常203
6.9.3 执行顺序204
6.9.4 Annotation204
6.9.5 属性Merge205
第7章 写数据ItemWriter207
7.1 ItemWrite207
7.1.1 ItemWriter208
7.1.2 ItemStream208
7.1.3 系统写组件209
7.2 Flat格式文件210
7.2.1 FlatFileItemWriter210
7.2.2 LineAggregator214
7.2.3 FieldExtractor217
7.2.4 回调操作219
7.3 XML格式文件222
7.3.1 StaxEventItemWriter222
7.3.2 回调操作226
7.4 写多文件230
7.4.1 MultiResourceItemWriter230
7.4.2 扩展MultiResourceItem
Writer233
7.5 写数据库234
7.5.1 JdbcBatchItemWriter235
7.5.2 HibernateItemWriter239
7.5.3 IbatisBatchItemWriter242
7.5.4 JpaItemWriter245
7.6 写JMS队列248
7.6.1 JmsItemWriter248
7.7 组合写252
7.8 Item路由Writer254
7.9 发送邮件258
7.9.1 SimpleMailMessageItem
Writer258
7.10 服务复用262
7.10.1 ItemWriterAdapter262
7.10.2 PropertyExtracting
DelegatingItemWriter264
7.11 自定义ItemWrite267
7.11.1 不可重启ItemWriter267
7.11.2 可重启ItemWriter268
7.12 拦截器271
7.12.1 拦截器接口271
7.12.2 拦截器异常273
7.12.3 执行顺序274
7.12.4 Annotation274
7.12.5 属性Merge275
第8章 处理数据ItemProcessor277
8.1 ItemProcessor277
8.1.1 ItemProcessor277
8.1.2 系统处理组件278
8.2 数据转换279
8.2.1 部分数据转换279
8.2.2 数据类型转换281
8.3 数据过滤282
8.3.1 数据Filter282
8.3.2 数据过滤统计283
8.4 数据校验285
8.4.1 Validator285
8.4.2 ValidatingItemProcessor286
8.5 组合处理器288
8.6 服务复用291
8.6.1 ItemProcessorAdapter291
8.7 拦截器293
8.7.1 拦截器接口293
8.7.2 拦截器异常295
8.7.3 执行顺序295
8.7.4 Annotation296
8.7.5 属性Merge297

第3篇 高级篇

第9章 作业流Step Flow300
9.1 顺序Flow300
9.2 条件Flow302
9.2.1 next303
9.2.2 ExitStatus VS
BatchStatus306
9.2.3 decision条件308
9.3 并行Flow311
9.4 外部Flow定义314
9.4.1 Flow314
9.4.2 FlowStep317
9.4.3 JobStep319
9.5 Step数据共享321
9.6 终止Job323
9.6.1 end324
9.6.2 stop326
9.6.3 fail327
第10章 健壮Job330
10.1 跳过Skip331
10.1.1 配置Skip331
10.1.2 跳过策略SkipPolicy333
10.1.3 跳过拦截器335
10.2 重试Retry338
10.2.1 配置Retry339
10.2.2 重试策略RetryPolicy341
10.2.3 重试拦截器343
10.2.4 重试模板345
10.3 重启Restart353
10.3.1 重启Job353
10.3.2 启动次数限制355
10.3.3 重启已完成的任务355
第11章 扩展Job、并行处理357
11.1 可扩展性357
11.2 多线程Step358
11.2.1 配置多线程Step359
11.2.2 线程安全性360
11.2.3 线程安全Step361
11.2.4 可重启的线程
安全Step363
11.3 并行Step365
11.4 远程Step366
11.4.1 远程Step框架366
11.4.2 基于SI实现远程Step368
11.5 分区Step373
11.5.1 关键接口374
11.5.2 基本配置376
11.5.3 文件分区378
11.5.4 数据库分区382
11.5.5 远程分区Step387
后记392

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,954
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,479
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,291
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,108
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,740
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,774