登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2024年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2025年02月出版新書

2025年01月出版新書

2024年12月出版新書

2024年11月出版新書

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

『簡體書』Spring Batch权威指南

書城自編碼: 3597841
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: [美]迈克尔·T.米内拉[Michael T.,Minell
國際書號(ISBN): 9787302567721
出版社: 清华大学出版社
出版日期: 2021-01-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:NT$ 568

我要買

share:

** 我創建的書架 **
未登入.



編輯推薦:
《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 Batch 4中的新特性。 * 使用Spring Batch项目在云环境中完成有限的批处理任务。 * 通过一些示例,理解*的基于Java和Spring Boot的配置技术 * 掌握复杂场景和云环境中的批处理 * 开发能够运行在现代平台上的批处理应用 * 除了Spring Batch,使用Spring Portfolio的其他部分开发关键任务型批处理应用
關於作者:
Michael T. Minella是一位软件工程师、作家和演说家,拥有超过18年的专业经验。Michael是Pivotal的软件工程主管,领导了Spring Batch和Spring Cloud Task项目,他也是JSR-352Java Batch的专家组成员。另外,他还是一名Java Champion和JavaOne Rockstar,曾在许多不同的Java国际会议上发表演讲。
在日常工作外,Michael还在播客OffHeap上扮演脾气暴躁的人。他个人对信息安全话题InfoSec也很感兴趣。Michael的爱好包括摄影和木工,他和爱人Erica、孩子Addison生活在一起。
目錄
第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 标准化IO 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
內容試閱
Spring Batch是我深度参与的第一个开源项目。在我的记忆中,有两件事拖延了Spring Batch 1.0的发布:一是确保服务质量Quality of Service,QoS特性在实际工作中发挥作用;二是在API的设计上需要投入大量的精力。无论如何,错误是不可避免的,但我认为,至少可以说我们尽了最大努力,让生活有了一个良好的开端。
如果回顾一下Spring Batch的发展历程,你就会发现它起源于批处理领域,并且诞生于世界各地的许多企业长时间不断重复发明的过程之中。我第一次看到这些代码是在2006年,当时是Rob Harrop在伦敦一家银行做咨询工作时写的一个很小的原型。在我们将Spring Batch的一些有用特性分离出来,以便在其他项目中共享之后,这些部分最终在Spring Retry中完成。Spring Batch剩下的大部分,以及Spring Batch面向状态机的世界观,都来自与埃森哲的合作。从那时起,有太多的贡献者加入,在此无法一一列出,但值得特别提及的是Lucas Ward,他是Spring Batch在早期的另一位家长和看护者。我还记得,Robert Kasanicky和Dan Garrette为Spring Batch 1.0在2008年的成功发布做出过巨大贡献。
以上贡献者也为Spring Batch 2.0在2010年的成功发布发挥了重要作用,我们在Spring Batch 2.0中引入了chunk的概念以及一些特性,以支持分布式处理、并行处理和Java 5的新语言特性。chunk块是可以一起处理的一组数据项,这为提高效率和可伸缩性提供了可能。Spring Batch 2.0在很长一段时间里代表最高的技术水平,并且在JSR-352规范启动时,成为其中的一部分。来自埃森哲的Wayne Lund在Spring Batch项目的早期就已加入其中,他也是JSR-352专家组的一员,现在是Pivotal的平台架构师。
那时候,Michael Minella也是JSR-352专家组的成员,他在现实生活中大量地使用Spring Batch并撰写了一本书。当他在2012年加入Spring团队时,Spring正好开始Spring Batch 3.0的准备和发布工作。在Spring Batch 3.0中,我们第一次看到了@EnableBatchProcessing注解,并且将重心从XML配置转到使用Java进行配置。Michael很快就以项目负责人的角色接管了这个项目,领导Spring Batch的3.x系列版本一直到4.0版本。在4.0版本中,Java 8成为基线,并且添加了一些新的流畅风格fluent-style的配置构建器。与Spring Cloud Data Flow的连接以及分布式处理的工业化也在这一时期发生。在2018年年初,Mahmoud Ben Hassine作为新的项目联合负责人加入进来,他一直在帮助Michael推动Spring Batch,并仔细听取了许多用户的反馈。
所以,在《Spring Batch权威指南》写作期间,Spring Batch已经发展了十年,期间也不断有优秀的贡献者加入进来。在未来几年里,Spring Batch肯定还有很多事情要做,因为批处理似乎永远不会消失。这确实很有意思。
Dave Syer,Spring Batch项目创始人
2019年于伦敦

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 台灣用户 | 香港/海外用户
megBook.com.tw
Copyright (C) 2013 - 2025 (香港)大書城有限公司 All Rights Reserved.