我是五年前接触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进行中文化就完全没有问题。
对象多属性规则的另外一种书写方法:
对应规则如下: