Drools規則執行順序

2021-08-30 15:00:35 字數 1796 閱讀 3052

以堆疊方式執行,優先順序低的先入棧,同一優先順序的,在規則檔案中位置靠前的先入棧.

測試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...