// load up the knowledge base
knowledgebase kbase =
readknowledgebase()
; statefulknowledgesession ksession = kbase.
newstatefulknowledgesession()
;
itemcity item1 =
newitemcity()
; item1.
setpurchasecity
(city.pune)
; item1.
settypeofitem
(type.medicines)
; item1.
setsellprice
(new
bigdecimal(10
)); ksession.
insert
(item1)
;
itemcity item2 =
newitemcity()
; item2.
setpurchasecity
(city.pune)
; item2.
settypeofitem
(type.groceries)
; item2.
setsellprice
(new
bigdecimal(10
)); ksession.
insert
(item2)
;
itemcity item3 =
newitemcity()
; item3.
setpurchasecity
(city.nagpur)
; item3.
settypeofitem
(type.medicines)
; item3.
setsellprice
(new
bigdecimal(10
)); ksession.
insert
(item3)
;
itemcity item4 =
newitemcity()
; item4.
setpurchasecity
(city.nagpur)
; item4.
settypeofitem
(type.groceries)
; item4.
setsellprice
(new
bigdecimal(10
));
ksession.
insert
(item4)
;
ksession.
fireallrules()
;
system.out.
println
(item1.
getpurchasecity()
.tostring()
+" "
+ item1.
getlocaltax()
.intvalue()
);system.out.
println
(item2.
getpurchasecity()
.tostring()
+" "
+ item2.
getlocaltax()
.intvalue()
);system.out.
println
(item3.
getpurchasecity()
.tostring()
+" "
+ item3.
getlocaltax()
.intvalue()
);system.out.
println
(item4.
getpurchasecity()
.tostring()
+" "
主要思想
其核心思想是用分離的匹配項構造匹配網路,同時快取中間結果。以空間換時間。規則編譯(rule compilation)和執行時執行(runtime execution)。
rete網路的示意圖如下
drools 規則引擎將業務規則轉換成執行樹
規則引擎預設不會在規則評估時立即執行業務規則,除非我們強制指定。當我們到達乙個事實(fact)與規則相匹配的節點時,規則評估會將規則操作與觸發資料新增到乙個叫作議程(agenda)的元件中,如果同乙個事實(fact)與多個規則相匹配,就認為這些規則是衝突的,議程(agenda)使用衝突解決策略(conflict resolution strategy)管理這些衝突規則的執行順序。整個生命週期中,規則評估與規則執行之間有著明確的分割。規則操作的執行可能會導致事實(fact)的更新,從而與其它規則相匹配,導致它們的觸發,稱之為前向鏈結。
cookie原理和基本使用
在 中,http請求是無狀態的。也就是說即使第一次和伺服器連線後並且登入成功後,第二次請求伺服器依然不能知道當前請求是哪個使用者。cookie的出現就是為了解決這個問題,第一次登入後伺服器返回一些資料 cookie 給瀏覽器,然後瀏覽器儲存在本地,當該使用者傳送第二次請求的時候,就會自動的把上次請求...
規則引擎 Drools的使用
專案遇到下步執行動作決策的業務,場景不同於常見的規則性業務,但也可以應用於規則引擎之中,剝離掉 中大量的邏輯判斷 同時加快決策結果的輸出。可見規則的定義是比較泛的,技術元件的應用也不是一成不變的。drools有專門的規則語法drl檔案,drools會記載drl檔案中編寫好的規則,供專案呼叫 因為一般...
Mysql基本使用原理和索引型別
1.建立使用者 建立使用者的三種方法 1 insert into mysql.user host,user,password values localhost hadoop password hadoop 2 create user hadoop localhost identified by ha...