我正在尝试编写一个处理消息的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。
谢谢!
它看起来像drools以递归方式应用规则!我在DSL中输入了字段{bit}的验证失败[]将字段{second_bit}设置为{val}=…
但也有另一个这样的-[结果][]将字段{bit}设置为“{field_value}”=…
所以drools匹配了第二个RHS的第一个条目的最后一部分!。多亏了drools. dump.dir选项,我可以看到发生了什么!