Sri*_*ram 7 java drools drools-kie-server
我们正在使用Drools v6.3.4 - 但测试了同样的问题也发生在v7.3.0中.当我们编写规则长度为27000个字符或更长的规则时,我们会收到"无法分析表达式"错误
rule "StoreRule"
when
(s: Store.StoreItems(storeitemname in ("STORE0000001","STORE0000002"....really long list)))
then
System.out.println("Discount!");
end
Run Code Online (Sandbox Code Playgroud)
我们有一个解决方法,就是将规则拆分为这样 -
rule "StoreRule"
when
(s: Store.StoreItems(storeitemname in (<List 1>))) ||
(s: Store.StoreItems(storeitemname in (<List 2>))) ||....and so on
then
System.out.println("Discount!");
end
Run Code Online (Sandbox Code Playgroud)
我们用一个长列表得到错误的根本原因是什么?除了上面指定的解决方法之外,还有更好的方法来处理这些规则吗?
当我们有大规则时,我们得到以下错误.
Myk*_*ych -1
确保一个商店项目名称不能是其他商店项目名称的一部分
rule "StoreRule"
when
(s: Store.StoreItems("STORE0000001|STORE0000002|really long list" contains storeitemname))
then
System.out.println("Discount!");
end
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
310 次 |
最近记录: |