《Spring Batch權威指南》是2021年清華大學出版社出版的書籍,作者是麥可·T.米內拉(Michael T. Minella)。
基本介紹
- 中文名:Spring Batch權威指南
- 作者:麥可·T.米內拉(Michael T. Minella)
- 譯者:張坤、張淵
- 出版社:清華大學出版社
- 出版時間:2021年1月1日
- 定價:98 元
- ISBN:9787302567721
內容簡介,圖書目錄,
內容簡介
主要內容: * 探索Spring Batch 4中的新特性。 * 使用Spring Batch項目在雲環境中完成有限的批處理任務。 * 通過一些示例,理解最新的基於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