Drools Rule Engine 初探

最近忽然間被要求要研究一下Drools Rule Engein,至於Drools是什麼東西在此就 不多說廢話了。本篇會稍微介紹一下如何使用Java驅動一個簡單的Drools範例。

這篇範例的程式碼可以從這裡下載:範例程式碼下載

事前準備

當然系統必須要有JDK,並且此範例會使用Gradle當作建構 管理系統。

專案建立

首先先創一個空的Gradle專案修改 build.gradle 檔案。首先在 repositories 的部份加入JBoss自己的repo網址。因為某些Drools的相依在Maven的Central抓不到。修改完後 會長這樣:

接著在 dependencies 中加入相依

寫一個基本的範例

接下來就開始寫範例了,首先在這裡用Drools的語法寫一個drl檔來定義Rule。並將這個drl檔 放在Resources目錄底下。至於Drools的語法以後再來慢慢談這部份。

這drl檔中有兩條規則:

  • 如果Message物件的狀態是Hello,則印出Message中的message。接著將Meassage物件的 message設成”Goodbye world”。
  • 如果Message物件的狀態是GOODBYE,則印出Message中的message。

其中第三行有一段

import org.enoir.droolstest.Message

這是為了讓Drools知道Message實際上是Java的哪個Class.

接下來要先創一個Message的Class。

接著在程式進入點開始跑這流程吧。

接著應該就可以看到以下輸出

Hello World Goodbye world

就先介紹到這,有空再來談談其他細節。


Originally published at blog.enoir.org on October 27, 2015.