×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • 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生活在一起。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航