提问者:小点点

Drools 5.4.0-错误与DSL结果包含三个捕获与整数和字符串的组合


我正在尝试编写一个处理消息的DSL。我有几个结构与下面的一个一起工作,导致错误-

从DSL-[结果][]在字段{bit}的验证失败时将字段{bit2}设置为"{field_value}"=System. out.println("Test");

在DSLR中-在字段2的验证失败时将字段39设置为“181”

奇怪的是,下面的作品还可以

从DSL-[结果][]在字段{bit}的验证失败时将字段{bit2}设置为{field_value}=System. out.println("Test");

在DSLR中-在字段2的验证失败时将字段39设置为181(请注意“field_value”上删除了双引号)

我做错什么了吗?。我正在使用Drools 5.4.0 Final。

谢谢!


共1个答案

匿名用户

它看起来像drools以递归方式应用规则!我在DSL中输入了字段{bit}的验证失败[]将字段{second_bit}设置为{val}=…

但也有另一个这样的-[结果][]将字段{bit}设置为“{field_value}”=…

所以drools匹配了第二个RHS的第一个条目的最后一部分!。多亏了drools. dump.dir选项,我可以看到发生了什么!