以堆疊方式執行,優先順序低的先入棧,同一優先順序的,在規則檔案中位置靠前的先入棧.
測試1
rule "test first"
salience 0
no-loop false
when
$test: string( )
then
system.out.println($test);
insert("test second");
endrule "test second"
salience -10
when
$test: string( )
then
system.out.println($test + " the 2nd");
insert("test three");
end
測試1結果
test
test second
test second the 2nd
test three
test three the 2nd
test the 2nd
測試2
rule "test first"
salience 0
no-loop false
when
$test: string( )
then
system.out.println($test);
insert("test second");
endrule "test second"
salience 0
no-loop false
when
$test: string( )
then
system.out.println($test + " the 2nd");
insert("test three");
end
測試2結果
test the 2nd
test three the 2nd
test three
test second the 2nd
test second
test
同一互斥組下,優先順序高的如果no-loop true,則,此規則內如果插入新物件,視本規則為不匹配,執行下一規則.
測試3
rule "test second"
salience 0
activation-group "show"
no-loop true
when
$test: string( )
then
system.out.println($test);
insert("test second");
endrule "test first"
salience 0
activation-group "show"
no-loop true
when
$test: string( )
then
system.out.println($test + " the 2nd");
insert("test three");
end
測試3結果
test the 2nd
test three
test second the 2nd
初探Drools 執行一組規則(篩選規則)
drools 版本是7.11的。自己對於drools的研究是按照需求進行學習的,所以這個系列也算是自己的學習過程。目前的需求是fact就乙個,但是規則有很多,需要將一些規則分組執行。通常來說 我們呼叫規則很簡單,建立fact 之後 利用session直接fireallrules就行了。不過自己也發現...
Drools規則引擎介紹
規則引擎起源於基於規則的專家系統,而基於規則的專家系統又是專家系統的其中乙個分支。專家系統屬於人工智慧的範疇,它模仿人類的推理方式,使用試探性的方法進行推理,並使用人類能理解的術語解釋和證明它的推理結論 規則引擎一般由3部分組成 規則庫 knowledge base working memory f...
Drools 規則引擎 入門
參考網上前輩的例子,自己把drools整合在了springboot中能正常執行。特此記錄一下 pom檔案引入jar包 org.drools drools core 7.0.0.final org.drools drools compiler 7.0.0.final org.drools drools...