Drools 規(guī)則引擎已經(jīng)有幾年的發(fā)展史了,但由于學(xué)習(xí)成本較高,且國(guó)內(nèi)并沒(méi)有詳細(xì)的中文文檔,導(dǎo)致 Drools 規(guī)則引擎在國(guó)內(nèi)市場(chǎng)推行緩慢。本書將對(duì) Drools規(guī)則引擎進(jìn)行一個(gè)詳細(xì)說(shuō)明,共分為六篇,基石篇主要介紹規(guī)則引擎的入門知識(shí),基礎(chǔ)篇詳細(xì)介紹規(guī)則引擎的基礎(chǔ)語(yǔ)法、規(guī)則屬性、關(guān)鍵字及錯(cuò)誤信息,中級(jí)篇介紹規(guī)則中級(jí)語(yǔ)法等,高級(jí)篇介紹Workbench、 Kie-Server、動(dòng)態(tài)規(guī)則、多線程中的 Drools 等高級(jí)用法,源碼篇為 Drools 源碼分析,擴(kuò)展篇為 Drools 擴(kuò)展說(shuō)明。
除了講解 Drools 規(guī)則引擎的思維方式外,還在每一個(gè)知識(shí)點(diǎn)上輔以大量的代碼案例,并且有很多實(shí)戰(zhàn)經(jīng)驗(yàn)及思想在里面。本書作為 Drools 規(guī)則引擎的中文教程, Java 開發(fā)者、對(duì) Drools 規(guī)則引擎有興趣的軟件開發(fā)人員或系統(tǒng)架構(gòu)師都可以閱讀。
來(lái)志輝,智聯(lián)招聘高級(jí)研發(fā)工程師,曾為其他企業(yè)做規(guī)則引擎內(nèi)部培訓(xùn),在研究Drools領(lǐng)域有一定的影響力,在規(guī)則引擎、平臺(tái)化設(shè)計(jì)、新技術(shù)開發(fā)等方面有豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)。
第一篇基 石 篇
第1章Drools概述 002
1.1程序來(lái)源于生活 003
1.2Drools是什么 003
1.3Drools簡(jiǎn)要概述 003
1.4Drools發(fā)展趨勢(shì) 004
1.5Drools版本 004
1.6Drools新特性 005
1.7KIE生命周期 006
1.8為什么要用規(guī)則引擎 006
第2章Drools入門實(shí)例 008
2.1經(jīng)典Hello World 009
2.2對(duì)象引用 013
2.3Drools配置文件 020
第二篇基 礎(chǔ) 篇
第3章Drools基礎(chǔ)語(yǔ)法 026
3.1規(guī)則文件 027
3.2規(guī)則體語(yǔ)法結(jié)構(gòu) 028
3.3pattern(匹配模式) 028
3.4運(yùn)算符 030
3.5約束連接 032
3.6語(yǔ)法擴(kuò)展 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章關(guān)鍵字及錯(cuò)誤信息 085
5.1關(guān)鍵字說(shuō)明 086
5.2錯(cuò)誤信息 086
第三篇中 級(jí) 篇
第6章規(guī)則中級(jí)語(yǔ)法 090
6.1package說(shuō)明 091
6.2global全局變量 094
6.3query查詢 101
6.4function函數(shù) 104
6.5declare聲明 109
6.6規(guī)則when 115
6.7規(guī)則then 146
6.8kmodule配置說(shuō)明 150
第7章指定規(guī)則名調(diào)用 153
第8章Spring整合Drools 161
8.1Spring Drools簡(jiǎn)單配置 162
8.2Drools整合Spring Web 167
8.3Drools整合Spring Boot 173
第9章KieSession狀態(tài) 209
9.1有狀態(tài)的KieSession 211
9.2無(wú)狀態(tài)的StatelessKieSession 211
第四篇高 級(jí) 篇
第10章Drools高級(jí)用法 218
10.1決策表 219
10.2DSL領(lǐng)域語(yǔ)言 227
10.3規(guī)則模板 234
10.4規(guī)則流 240
10.5規(guī)則構(gòu)建過(guò)程 272
10.6Drools事件監(jiān)聽 277
第11章Workbench 283
11.1Workbench 284
11.2Windows安裝方式 284
11.3KIE-WB 6.4版本安裝 287
11.4Workbench操作手冊(cè) 291
11.5Workbench與Java交互 330
11.6構(gòu)建項(xiàng)目的版本控制 344
11.7Workbench上傳文件與添加依賴關(guān)系 345
11.8Workbench中設(shè)置Kbase KieSession 349
11.9Workbench構(gòu)建jar包到Maven私服 352
第12章Kie-Server 353
12.1整合部署 354
12.2分離部署 362
12.3集群部署 364
12.4Kie-Server與Java交互 380
第13章動(dòng)態(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(無(wú)狀態(tài)) 413
14.6同KieHelper 不同StatelessKieSession(無(wú)狀態(tài)) 415
14.7不同KieHelper不同StatelessKieSession(無(wú)狀態(tài)),StatelessKieSession只創(chuàng)建一次 417
14.8不同KieHelper不同StatelessKieSession(無(wú)狀態(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
第六篇擴(kuò) 展 篇
第16章Drools擴(kuò)展說(shuō)明 446
16.1規(guī)則引擎優(yōu)化方案 447
16.2規(guī)則實(shí)戰(zhàn)架構(gòu) 450
16.3規(guī)則引擎項(xiàng)目的定位 453
16.4規(guī)則引擎實(shí)戰(zhàn)應(yīng)用思想 454
16.5規(guī)則引擎日志輸出 455
參考文獻(xiàn) 458