在我的组织中,我们决定使用 KieServer 来运行 drools。我们没有使用 kieworkbench,这是因为我们需要对部署进行更多控制,并且应该与相关应用程序保持一致。要求是将条件检查外部化。
例如在下面的规则中,“2008”的检查将存储在数据库中
when
$customer:Customer(membersince <= "2008")
then
$customer.setOfferPercent("50%")
我想出了一种从数据库/内存缓存实现中获取此值 2008 的方法,并将其更改如下。这将允许我的运营/业务无需在 kie 服务器中部署即可更改这些值,并减少大量工作
when
$customer:Customer(membersince <= cache.get("Member_Since_Elite"))
then
$customer.setOfferPercent("50%")
我的问题是,有没有其他方法可以声明为全局并在数据库中更改时自动填充值。我希望通过使用注释来做类似下面的事情,并且需要一些帮助。
declare Properties
member_since_elite : String @Property("member_since_elite")
end
when
$customer:Customer(membersince <= Properties.member_since_elite )
then
$customer.setOfferPercent("50%")
这样,当它的值发生变化时,它将帮助我从数据库/缓存中自动注入值。