我是五年前接觸jrule ilog的,是以對于ilog開發的一套邏輯比較熟悉,對于drools中無論是語言還是執行過程中insert都感覺十分頭疼,在所有頭疼中最厲害的莫過于中文化,drools提供的中文化十分的在我看來十分的不友善,但作為開源軟體也不便于批評什麼。
Drools使用DSL支援中文化(國際化),其本身是一個映射檔案。在IDE中建立方式如下:
1. 建立DSL有兩種方法
方案一:在IDE工具欄中選擇“New Domain Specific Language”

方案二:建立新元素“Domain Specific Language”
2. 選擇對應的規則包目錄,一般來說一個規則包下對應一個dsl
3. 選擇是否包含一些模闆,預設不包含
4. 下圖為IDE中dsl格式
案例分析:
1) 純用DRL寫的原規則
2) 添加dsl之後的檔案
3) 在DSL中轉義如下
其中:
Condition表示是條件中的轉義
Consequence是那麼中的轉義
*是通用轉義
4) 執行java中如下修改:
傳回結果為:
在6.2版本中使用中文化完全沒有展現。
像這種情況也不會出現中文提示,關于6.2的這種情況還在研究中,但奇怪的是在6.1版本中通過dsl進行中文化就完全沒有問題。
對象多屬性規則的另外一種書寫方法:
對應規則如下: