定 價:¥98.00
作 者: | [美] 邁克爾·T.米內(nèi)拉 著 |
出版社: | 清華大學(xué)出版社 |
叢編項: | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787302567721 | 出版時間: | 2020-12-01 | 包裝: | 平裝 |
開本: | 16 | 頁數(shù): | 420 | 字?jǐn)?shù): |
目 錄
第1章 批處理和Spring 1
1.1 批處理的歷史 2
1.2 批處理面臨的挑戰(zhàn) 3
1.3 為什么使用Java進行批處理 4
1.4 Spring Batch的其他用途 5
1.5 Spring Batch框架 7
1.5.1 使用Spring定義作業(yè) 8
1.5.2 管理作業(yè) 9
1.5.3 本地和遠程的并行化 9
1.5.4 標(biāo)準(zhǔn)化I/O 10
1.5.5 Spring Batch生態(tài)系統(tǒng)的其他部分 10
1.5.6 Spring的所有特性 10
1.6 如何閱讀本書 11
1.7 本章小結(jié) 11
第2章 Spring Batch入門 13
2.1 批處理的架構(gòu) 13
2.1.1 深入討論作業(yè)和步驟 14
2.1.2 執(zhí)行作業(yè) 15
2.1.3 并行化 16
2.1.4 文檔 18
2.2 項目設(shè)置 19
2.2.1 獲取Spring Batch 19
2.2.2 IntelliJ IDEA 21
2.3 “Hello,World!”示例程序 22
2.4 運行作業(yè) 25
2.5 本章小結(jié) 26
第3章 示例作業(yè) 27
3.1 了解敏捷開發(fā) 27
3.1.1 通過用戶故事捕捉需求 28
3.1.2 使用測試驅(qū)動開發(fā)捕捉設(shè)計 29
3.1.3 使用版本控制系統(tǒng) 29
3.1.4 在真正的開發(fā)環(huán)境中工作 30
3.2 理解作業(yè)需求 30
3.3 設(shè)計批處理作業(yè) 34
3.3.1 作業(yè)描述 35
3.3.2 理解數(shù)據(jù)模型 36
3.4 本章小結(jié) 37
第4章 理解作業(yè)和步驟 39
4.1 作業(yè)介紹 39
4.2 配置作業(yè) 41
4.2.1 基本的作業(yè)配置 41
4.2.2 作業(yè)參數(shù) 43
4.2.3 使用作業(yè)監(jiān)聽器 55
4.2.4 執(zhí)行上下文 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 本章小結(jié) 95
第5章 作業(yè)存儲庫和元數(shù)據(jù) 97
5.1 作業(yè)存儲庫是什么 97
5.1.1 使用關(guān)系數(shù)據(jù)庫 97
5.1.2 使用內(nèi)存存儲庫 101
5.2 配置批處理基礎(chǔ)設(shè)施 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 配置數(shù)據(jù)庫 106
5.3 使用元數(shù)據(jù) 106
5.4 本章小結(jié) 110
第6章 運行作業(yè) 111
6.1 使用Spring Boot啟動作業(yè) 111
6.2 使用REST API啟動作業(yè) 113
6.3 使用Quartz進行調(diào)度 118
6.4 停止作業(yè) 121
6.4.1 自然結(jié)束 121
6.4.2 以編程方式結(jié)束 122
6.4.3 錯誤處理 134
6.5 控制作業(yè)的重啟 136
6.5.1 阻止作業(yè)再次執(zhí)行 136
6.5.2 配置重啟次數(shù) 137
6.5.3 重新運行一個完整的步驟 138
6.6 本章小結(jié) 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 數(shù)據(jù)庫輸入 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 現(xiàn)有的服務(wù) 191
7.6 自定義輸入 194
7.7 錯誤處理 198
7.7.1 跳過記錄 199
7.7.2 把無效的記錄記入日志 200
7.7.3 處理沒有輸入的情況 202
7.8 本章小結(jié) 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 本章小結(jié) 222
第9章 ItemWriter 223
9.1 ItemWriter概述 224
9.2 基于文件的ItemWriter 225
9.2.1 FlatFileItemWriter 225
9.2.2 StaxEventItemWriter 235
9.3 基于數(shù)據(jù)庫的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 輸出到其他目標(biāo)的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 復(fù)合的ItemWriter 280
9.6.1 MultiResource-ItemWriter 280
9.6.2 CompositeItemWriter 288
9.6.3 ClassifierComposite-ItemWriter 291
9.7 本章小結(jié) 294
第10章 示例應(yīng)用 297
10.1 回顧銀行對賬單作業(yè) 297
10.2 配置新項目 298
10.3 導(dǎo)入客戶數(shù)據(jù) 300
10.3.1 驗證客戶ID 306
10.3.2 寫入客戶更新 308
10.4 導(dǎo)入交易數(shù)據(jù) 311
10.4.1 讀取交易 313
10.4.2 寫入交易 314
10.5 計算當(dāng)前余額 315
10.5.1 讀取交易 316
10.5.2 更新賬戶余額 316
10.6 生成對賬單 317
10.6.1 讀取對賬單數(shù)據(jù) 317
10.6.2 為對賬單添加賬戶信息 320
10.6.3 寫對賬單 322
10.7 本章小結(jié) 326
第11章 伸縮和調(diào)優(yōu) 327
11.1 分析批處理作業(yè)的性能 327
11.1.1 VisualVM之旅 328
11.1.2 分析Spring Batch應(yīng)用的性能 331
11.2 伸縮作業(yè) 337
11.2.1 多線程步驟 337
11.2.2 并行步驟 339
11.2.3 組合使用AsyncItemProcessor和AsyncItemWriter 344
11.2.4 分區(qū) 346
11.2.5 遠程分塊 360
11.3 本章小結(jié) 365
第12章 云原生的批處理 367
12.1 “12要素應(yīng)用” 367
12.1.1 代碼庫 368
12.1.2 依賴 368
12.1.3 配置 368
12.1.4 支持服務(wù) 368
12.1.5 構(gòu)建、發(fā)布、運行 369
12.1.6 進程 369
12.1.7 端口綁定 369
12.1.8 并發(fā) 369
12.1.9 可丟棄性 369
12.1.10 開發(fā)環(huán)境與線上環(huán)境的等價 370
12.1.11 日志 370
12.1.12 管理進程 370
12.2 一個簡單的批處理作業(yè) 370
12.3 斷路器 376
12.4 外部化配置 379
12.4.1 Spring Cloud Config 379
12.4.2 通過Eureka進行服務(wù)綁定 381
12.5 批處理過程的編排 384
12.5.1 Spring Cloud Data Flow 385
12.5.2 Spring Cloud Task 386
12.5.3 注冊和運行任務(wù) 387
12.6 本章小結(jié) 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 本章小結(jié) 408