我是JBoss Drools的新手。我最近在决策表周围遇到了一个问题,我以某种方式想出了解决方案,但我不知道它是如何工作的。
我想以某种方式在决策表中编写一些规则,以使某些规则取决于之前设置了其他规则的事实的属性的更新值。我的想法是,我检查特定规则中事实的属性值,然后根据该值更新同一事实的另一个属性的值。现在,在第二条规则中,我使用更新的属性值来检查约束。出于某种原因,这对我不起作用,即第二条规则未触发,因为第二条规则未选择在前一条规则中更新的属性值。
因此,我尝试从头开始构建决策表,发现问题出在我编写的突出显示的约束中。
如快照所示,此方法工作正常。如果 ageGroup 大于18,则 isFraudulent 属性设置为true。在第二条规则中,选择更新的值并分配正确的信用评分。但是以前,我写的突出约束是这样的。 “ dataModel.isFraudulent == $ param ”,但这不起作用,我认为应该可以。在这种情况下, isFraudulent 始终为空。但是,如果我用“ isFraudulent == $ param ”代替此约束,则可以正常工作。尽管我能够修复它,但我不知道为什么它第一次无法使用。
请帮助我理解这一点,如果需要更多信息,请告诉我。非常感谢。