Drools 規(guī)則引擎已經有幾年的發(fā)展史了,但由于學習成本較高,且國內并沒有詳細的中文文檔,導致 Drools 規(guī)則引擎在國內市場推行緩慢。本書將對 Drools規(guī)則引擎進行一個詳細說明,共分為六篇,基石篇主要介紹規(guī)則引擎的入門知識,基礎篇詳細介紹規(guī)則引擎的基礎語法、規(guī)則屬性、關鍵字及錯誤信息,中級篇介紹規(guī)則中級語法等,高級篇介紹Workbench、 Kie-Server、動態(tài)規(guī)則、多線程中的 Drools 等高級用法,源碼篇為 Drools 源碼分析,擴展篇為 Drools 擴展說明。
除了講解 Drools 規(guī)則引擎的思維方式外,還在每一個知識點上輔以大量的代碼案例,并且有很多實戰(zhàn)經驗及思想在里面。本書作為 Drools 規(guī)則引擎的中文教程, Java 開發(fā)者、對 Drools 規(guī)則引擎有興趣的軟件開發(fā)人員或系統(tǒng)架構師都可以閱讀。
來志輝,智聯招聘高級研發(fā)工程師,曾為其他企業(yè)做規(guī)則引擎內部培訓,在研究Drools領域有一定的影響力,在規(guī)則引擎、平臺化設計、新技術開發(fā)等方面有豐富的實戰(zhàn)經驗。
第一篇基 石 篇
第1章Drools概述 002
1.1程序來源于生活 003
1.2Drools是什么 003
1.3Drools簡要概述 003
1.4Drools發(fā)展趨勢 004
1.5Drools版本 004
1.6Drools新特性 005
1.7KIE生命周期 006
1.8為什么要用規(guī)則引擎 006
第2章Drools入門實例 008
2.1經典Hello World 009
2.2對象引用 013
2.3Drools配置文件 020
第二篇基 礎 篇
第3章Drools基礎語法 026
3.1規(guī)則文件 027
3.2規(guī)則體語法結構 028
3.3pattern(匹配模式) 028
3.4運算符 030
3.5約束連接 032
3.6語法擴展 048
3.7規(guī)則文件drl 056
第4章Drools規(guī)則屬性 057
4.1屬性no-loop 058
4.2屬性ruleflow-group 063
4.3屬性lock-on-active 063
4.4屬性salience 065
4.5屬性enabled 067
4.6屬性dialect 068
4.7屬性date-effective 069
4.8屬性date-expires 070
4.9屬性duration 073
4.10屬性activation-group 073
4.11屬性agenda-group 076
4.12屬性auto-focus 082
4.13屬性timer 082
第5章關鍵字及錯誤信息 085
5.1關鍵字說明 086
5.2錯誤信息 086
第三篇中 級 篇
第6章規(guī)則中級語法 090
6.1package說明 091
6.2global全局變量 094
6.3query查詢 101
6.4function函數 104
6.5declare聲明 109
6.6規(guī)則when 115
6.7規(guī)則then 146
6.8kmodule配置說明 150
第7章指定規(guī)則名調用 153
第8章Spring整合Drools 161
8.1Spring Drools簡單配置 162
8.2Drools整合Spring Web 167
8.3Drools整合Spring Boot 173
第9章KieSession狀態(tài) 209
9.1有狀態(tài)的KieSession 211
9.2無狀態(tài)的StatelessKieSession 211
第四篇高 級 篇
第10章Drools高級用法 218
10.1決策表 219
10.2DSL領域語言 227
10.3規(guī)則模板 234
10.4規(guī)則流 240
10.5規(guī)則構建過程 272
10.6Drools事件監(jiān)聽 277
第11章Workbench 283
11.1Workbench 284
11.2Windows安裝方式 284
11.3KIE-WB 6.4版本安裝 287
11.4Workbench操作手冊 291
11.5Workbench與Java交互 330
11.6構建項目的版本控制 344
11.7Workbench上傳文件與添加依賴關系 345
11.8Workbench中設置Kbase KieSession 349
11.9Workbench構建jar包到Maven私服 352
第12章Kie-Server 353
12.1整合部署 354
12.2分離部署 362
12.3集群部署 364
12.4Kie-Server與Java交互 380
第13章動態(tài)規(guī)則 385
第14章多線程中的Drools 401
14.1同KieHelper 同KieSession(有狀態(tài)) 404
14.2同KieHelper 不同KieSession(有狀態(tài)) 407
14.3不同KieHelper 不同KieSession(有狀態(tài)),KieSession只創(chuàng)建一次 409
14.4不同KieHelper 不同KieSession(有狀態(tài)),KieSession在線程代碼中創(chuàng)建 411
14.5同KieHelper 同StatelessKieSession(無狀態(tài)) 413
14.6同KieHelper 不同StatelessKieSession(無狀態(tài)) 415
14.7不同KieHelper不同StatelessKieSession(無狀態(tài)),StatelessKieSession只創(chuàng)建一次 417
14.8不同KieHelper不同StatelessKieSession(無狀態(tài)),StatelessKieSession在線程代碼中創(chuàng)建 419
第五篇源 碼 篇
第15章Drools源碼分析 424
15.1KieServices分析 425
15.2KieContainer分析 433
15.3KieSession分析 438
15.4KieBase分析 440
15.5KieFileSystem分析 441
15.6KieHelper分析 442
第六篇擴 展 篇
第16章Drools擴展說明 446
16.1規(guī)則引擎優(yōu)化方案 447
16.2規(guī)則實戰(zhàn)架構 450
16.3規(guī)則引擎項目的定位 453
16.4規(guī)則引擎實戰(zhàn)應用思想 454
16.5規(guī)則引擎日志輸出 455
參考文獻 458