- ISBN:9787302567721
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:420
- 出版时间:2021-01-01
- 条形码:9787302567721 ; 978-7-302-56772-1
本书特色
《Spring Batch权威指南》使用Spring框架的一系列组件,介绍现代Java环境中批处理的各个方面。本书使用*新的基于Java和Spring Boot的配置技术,提供了大量示例。从批处理的“Hello, World!”示例到更为复杂的场景,本书演示了在现代平台上开发批处理应用的云原生技术。除了Spring Batch 4,本书还涉及如何使用Spring Portfolio的其他部分协作开发关键任务型批处理应用。 在本书中,你将理解使用场景和技术平台的演进会对批处理产生深远影响。数据科学和大数据已经在现代IT领域日益突出,而使用批处理编排工作负载已经变得不足为奇。为此,本书还将介绍如何让批处理应用以有限任务和标准化的方式运行在云基础设施上。 此外,本书还将探索Spring Batch 4如何利用Java 9、Spring Framework 5以及*新的Spring Boot 2微框架。在阅读本书后,你将能够使用Spring Boot简化Spring项目的开发,以及利用Spring Cloud Task和Spring Cloud Data Flow为项目添加云原生功能。 使用Spring框架的一系列组件,介绍现代Java环境中批处理的各个方面。
内容简介
主要内容: * 探索Spring Batch 4中的新特性。 * 使用Spring Batch项目在云环境中完成有限的批处理任务。 * 通过一些示例,理解z新的基于Java和Spring Boot的配置技术 * 掌握复杂场景和云环境中的批处理 * 开发能够运行在现代平台上的批处理应用 * 除了Spring Batch,使用Spring Portfolio的其他部分开发关键任务型批处理应用
目录
目 录
第1章 批处理和Spring 1
1.1 批处理的历史 2
1.2 批处理面临的挑战 3
1.3 为什么使用Java进行批处理 4
1.4 Spring Batch的其他用途 5
1.5 Spring Batch框架 7
1.5.1 使用Spring定义作业 8
1.5.2 管理作业 9
1.5.3 本地和远程的并行化 9
1.5.4 标准化I/O 10
1.5.5 Spring Batch生态系统的其他部分 10
1.5.6 Spring的所有特性 10
1.6 如何阅读本书 11
1.7 本章小结 11
第2章 Spring Batch入门 13
2.1 批处理的架构 13
2.1.1 深入讨论作业和步骤 14
2.1.2 执行作业 15
2.1.3 并行化 16
2.1.4 文档 18
2.2 项目设置 19
2.2.1 获取Spring Batch 19
2.2.2 IntelliJ IDEA 21
2.3 “Hello,World!”示例程序 22
2.4 运行作业 25
2.5 本章小结 26
第3章 示例作业 27
3.1 了解敏捷开发 27
3.1.1 通过用户故事捕捉需求 28
3.1.2 使用测试驱动开发捕捉设计 29
3.1.3 使用版本控制系统 29
3.1.4 在真正的开发环境中工作 30
3.2 理解作业需求 30
3.3 设计批处理作业 34
3.3.1 作业描述 35
3.3.2 理解数据模型 36
3.4 本章小结 37
第4章 理解作业和步骤 39
4.1 作业介绍 39
4.2 配置作业 41
4.2.1 基本的作业配置 41
4.2.2 作业参数 43
4.2.3 使用作业监听器 55
4.2.4 执行上下文 58
4.2.5 操作ExecutionContext 58
4.3 使用步骤 62
4.3.1 Tasklet和基于块的处理 62
4.3.2 步骤的配置 63
4.3.3 理解其他类型的Tasklet 65
4.3.4 步骤流 80
4.4 本章小结 95
第5章 作业存储库和元数据 97
5.1 作业存储库是什么 97
5.1.1 使用关系数据库 97
5.1.2 使用内存存储库 101
5.2 配置批处理基础设施 101
5.2.1 BatchConfigurer接口 101
5.2.2 自定义JobRepository 102
5.2.3 自定义TransactionManager 103
5.2.4 自定义JobExplorer 104
5.2.5 自定义JobLauncher 105
5.2.6 配置数据库 106
5.3 使用元数据 106
5.4 本章小结 110
第6章 运行作业 111
6.1 使用Spring Boot启动作业 111
6.2 使用REST API启动作业 113
6.3 使用Quartz进行调度 118
6.4 停止作业 121
6.4.1 自然结束 121
6.4.2 以编程方式结束 122
6.4.3 错误处理 134
6.5 控制作业的重启 136
6.5.1 阻止作业再次执行 136
6.5.2 配置重启次数 137
6.5.3 重新运行一个完整的步骤 138
6.6 本章小结 139
第7章 ItemReader 141
7.1 ItemReader接口 141
7.2 文件输入 142
7.2.1 平面文件 142
7.2.2 XML文件 167
7.3 JSON 172
7.4 数据库输入 174
7.4.1 JDBC 174
7.4.2 Hibernate 180
7.4.3 JPA 184
7.4.4 存储过程 186
7.4.5 Spring Data 187
7.5 现有的服务 191
7.6 自定义输入 194
7.7 错误处理 198
7.7.1 跳过记录 199
7.7.2 把无效的记录记入日志 200
7.7.3 处理没有输入的情况 202
7.8 本章小结 203
第8章 ItemProcessor 205
8.1 ItemProcessor概述 205
8.2 使用Spring Batch提供的ItemProcessor 206
8.2.1 ValidatingItemProcessor 207
8.2.2 输入校验 207
8.2.3 ItemProcessorAdapter 213
8.2.4 ScriptItemProcessor 215
8.2.5 CompositeItemProcessor 216
8.3 编写自己的条目处理器 220
8.4 本章小结 222
第9章 ItemWriter 223
9.1 ItemWriter概述 224
9.2 基于文件的ItemWriter 225
9.2.1 FlatFileItemWriter 225
9.2.2 StaxEventItemWriter 235
9.3 基于数据库的ItemWriter 239
9.3.1 JdbcBatchItemWriter 239
9.3.2 HibernateItemWriter 244
9.3.3 JpaItemWriter 249
9.4 NoSQL ItemWriter 252
9.4.1 MongoDB 252
9.4.2 Noe4j 255
9.4.3 Pivotal Gemfire和Apache Geode 259
9.4.4 Repository抽象 263
9.5 输出到其他目标的ItemWriter 266
9.5.1 ItemWriterAdapter 266
9.5.2 PropertyExtractingDelegating-ItemWriter 268
9.5.3 JmsItemWriter 271
9.5.4 SimpleMailMessage-ItemWriter 275
9.6 复合的ItemWriter 280
9.6.1 MultiResource-ItemWriter 280
9.6.2 CompositeItemWriter 288
9.6.3 ClassifierComposite-ItemWriter 291
9.7 本章小结 294
第10章 示例应用 297
10.1 回顾银行对账单作业 297
10.2 配置新项目 298
10.3 导入客户数据 300
10.3.1 验证客户ID 306
10.3.2 写入客户更新 308
10.4 导入交易数据 311
10.4.1 读取交易 313
10.4.2 写入交易 314
10.5 计算当前余额 315
10.5.1 读取交易 316
10.5.2 更新账户余额 316
10.6 生成对账单 317
10.6.1 读取对账单数据 317
10.6.2 为对账单添加账户信息 320
10.6.3 写对账单 322
10.7 本章小结 326
第11章 伸缩和调优 327
11.1 分析批处理作业的性能 327
11.1.1 VisualVM之旅 328
11.1.2 分析Spring Batch应用的性能 331
11.2 伸缩作业 337
11.2.1 多线程步骤 337
11.2.2 并行步骤 339
11.2.3 组合使用AsyncItemProcessor和AsyncItemWriter 344
11.2.4 分区 346
11.2.5 远程分块 360
11.3 本章小结 365
第12章 云原生的批处理 367
12.1 “12要素应用” 367
12.1.1 代码库 368
12.1.2 依赖 368
12.1.3 配置 368
12.1.4 支持服务 368
12.1.5 构建、发布、运行 369
12.1.6 进程 369
12.1.7 端口绑定 369
12.1.8 并发 369
12.1.9 可丢弃性 369
12.1.10 开发环境与线上环境的等价 370
12.1.11 日志 370
12.1.12 管理进程 370
12.2 一个简单的批处理作业 370
12.3 断路器 376
12.4 外部化配置 379
12.4.1 Spring Cloud Config 379
12.4.2 通过Eureka进行服务绑定 381
12.5 批处理过程的编排 384
12.5.1 Spring Cloud Data Flow 385
12.5.2 Spring Cloud Task 386
12.5.3 注册和运行任务 387
12.6 本章小结 390
第13章 批处理的测试 391
13.1 使用JUnit和Mockito进行单元测试 391
13.1.1 JUnit 392
13.1.2 mock对象 394
13.1.3 Mockito 395
13.2 使用Spring的实用工具进行集成测试 398
13.2.1 使用Spring进行通用集成测试 398
13.2.2 测试Spring Batch 400
13.3 本章小结 408
作者简介
Michael T. Minella是一位软件工程师、作家和演说家,拥有超过18年的专业经验。Michael是Pivotal的软件工程主管,领导了Spring Batch和Spring Cloud Task项目,他也是JSR-352(Java Batch)的专家组成员。另外,他还是一名Java Champion和JavaOne Rockstar,曾在许多不同的Java国际会议上发表演讲。 在日常工作外,Michael还在播客OffHeap上扮演“脾气暴躁的人”。他个人对信息安全话题(InfoSec)也很感兴趣。Michael的爱好包括摄影和木工,他和爱人Erica、孩子Addison生活在一起。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥48.2¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0