<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">4.0.0</st1:chsdate>.MR3ReleaseNotes<o:p></o:p> |
<o:p> </o:p> |
<o:p> </o:p> |
API/语言变更<o:p></o:p>
assert 将变成 insert <o:p></o:p>
modify 变成 update <o:p></o:p>
insertObject (assertObject), retractObject 和updateObject 变成 insert, retract and update <o:p></o:p>
增加新的 WorkingMemory的 modifyRetract 和modifyAssert 方法<o:p></o:p>
核心与编译器<o:p></o:p>
JBRULES-231 – 增加"not contains" 和"not matches"约束,以支持加入语言中的相应操作。<o:p></o:p>
JBRULES-315 – 支持符号和嵌套的存取,如下:<o:p></o:p>
Person( address'business'?.phone[0].areaCode == $country.area'south'?.code ) <o:p></o:p>
JBRULES-500 – “||”逻辑连接符现在可以在字段以及任何表达式嵌套级别中使用。例:: Person( ( age ( > 20 && < 30) || (>40 && <50) && location=="<st1:city w:st="on">atlanta</st1:city>" ) || ( age > 20 && location=="Seatle" ) || location == "<st1:place w:st="on"><st1:city w:st="on">Chicago</st1:city></st1:place>" ) <o:p></o:p>
JBRULES-585 – 在一个已绑定Fact中绑定字段的语法糖<o:p></o:p>
JBRULES-662 – 使 TMS 可选<o:p></o:p>
JBRULES-866 – 允许绑定变量到被使用的字段约束 <o:p></o:p>
JBRULES-874 – 允许对绑定变量的直接属性存取。这避免了还需要绑定到变量自身的字段。当然也仍然允许对字段进行绑定。如:c: Customer() p: Person(customerId == c.id) <o:p></o:p>
JBRULES-708 – 完全的MVEL集成,MVEL现在完全集成到引擎中,并且能够被所有条件元素调用,这允许客户的代码也在规则的推论中。<o:p></o:p>
JBRULES-713 – 可插入方言。我们有两个正式支持的语言:Java和MVEL,但是用户现在可以加入他们自己的语言,通过实现相关的构建器。<o:p></o:p>
JBRULES-875 – 动态优先级引擎支持。现在通过使用一个包含字段和模式绑定的表达式支持动态优先级。意味着规则可以基于匹配它的数据进行优先级划分。<o:p></o:p>
JBRULES-895 – 更好的属性集支持引擎。现在支持链接属性的配置文件,并且自动调用默认的配置<o:p></o:p>
JBRULES-900 – 允许用参数表示查询 <o:p></o:p>
JBRULES-916 – 建立一个新的规则名称Agenda过滤器,使用正则表达式进行过滤<o:p></o:p>
JBRULES-917 – 允许查询参数指定类型 <o:p></o:p>
JBRULES-922 – API变更。将“assert”改为“insert”,“modify”改为“update”,避免与语言关键字冲突。<o:p></o:p>
JBRULES-925 – 在Accumulate条件元素中支持MVEL,允许使用MVEL编写用户的代码块。<o:p></o:p>
JBRULES-927 – 移植java语法到版本5。使用Java5的语法解析器<o:p></o:p>
JBRULES-930 – 阴影Fact现在是可选的,允许在类级别上关闭。<o:p></o:p>
JBRULES-880 – 更新XML组件处理4.0语言变化 <o:p></o:p>
JBRULES-935 – 更新DrlDumper以处理新的DRL导出器特性,XML解析器和XML导出器现在被更新到4.0语言特性。<o:p></o:p>
JBRULES-936 – 增加CE集合处理能力。提供更好的执行性能。<o:p></o:p>
JBRULES-941 – 增加插件化的集合功能支持。更多的细节在: http://markproctor.blogspot.com/2007/06/accumulate-functions-edson-tirelli.html<v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape id="_x0000_i1026" style="WIDTH: 4.5pt; HEIGHT: 4.5pt" type="#_x0000_t75" alt=""><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image001.gif" o:href="http://wiki.jboss.org/wiki/images/out.png"></v:imagedata></v:shape><o:p></o:p>
JBRULES-214 – 减少了关键字冲突,关键字冲突被缩小到最小的范围内<o:p></o:p>
JBRULES-908 – 依照ANTLR顾问的推荐,DRL语法器被整理和增强,允许更好的执行性能与错误处理,也在IDE中支持. <o:p></o:p>
规则流<o:p></o:p>
IDE 增强:<o:p></o:p>