我正在使用 Drools 规则服务器作为服务。我们正在使用决策表
Pre Rules Movie Object:
actor: "unknown"
movie: "Ghostbusters"
rating: 9
我在 Drools 决策表中有 2 条简单的规则。第一条规则检查一个值 ( movie=="Ghostbusters"
),然后设置该对象的调用setActor("Bill Murray")
。
第二条规则检查 Actor 是什么。我在第二条规则中有 2 行。 if Actor == "Bill Murray"
它调用 的动作setRating(10)
。而如果actor == "unknown"
setRating(8)
第一条规则按预期触发,我可以 printLngetActor
显示它是“Bill Murray”,但在第二条规则中,actor == "unknown"
动作总是触发。即使在我打印的那一行中,getActor
它也会打印“Bill Murray”,但它使用的是“未知”规则。
当对象从规则中返回时,它在规则中Actor = Bill Murray
设置的所有值都是“正确的”,但是在评估规则时,规则似乎总是使用我在规则之外创建的原始对象。
有什么我必须添加到决策表或调用drools 规则服务器来“更新”规则表之间的对象吗?