規則引擎 Drools 執行流程淺析

芝华塔内欧 2024-06-29 01:24 12次浏览 0 条评论 taohigo.com

什麼是規則引擎

Drools 簡介

Drools 是 Java 編寫的一款開源規則引擎。Drools 的核心算法基於 Rete。早些版本中,Drools 使用的是基於 Rete 二次開發的 ReteOO 算法。在 7.x 版本的 Drools 中,其內部算法已經改為使用 Phreak。Phreak 也是Drools 團隊自研的算法,雖然網上關於該算法的資料很少,但是總體來說與 Rete 算法相似。閱讀本文之前可以先瞭解下 Rete 算法

編寫一個簡單的規則

使用 Drools 需要我們將原有的代碼抽象成:Rule(規則) + Fact(事實)

首先我們先來編寫一個簡單的 demo 用於後文的原理學習

  1. 引入 pom 依賴

<properties>
<drools.version>7.62.0.Final</drools.version>
</properties>
...
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-compiler</artifactId>
<version>${drools.version}</version>
</dependency>

<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-mvel</artifactId>
<version>${drools.version}</version>
</dependency>