Drools 流涎外化条件

Drools 流涎外化条件,drools,kie-server,java-annotations,Drools,Kie Server,Java Annotations,在我的组织中,我们决定使用KieServer来运行drools。我们没有使用kieworkbench,这是因为我们需要对部署进行更多的控制,并且应该与相关的应用程序保持一致。问题是将条件检查具体化 例如,在下面这样的规则中,“2008”的检查将存储在数据库中 when $customer:Customer(membersince <= "2008") then $customer.setOfferPercent("50%") 什么时候 $customer:custome

在我的组织中,我们决定使用KieServer来运行drools。我们没有使用kieworkbench,这是因为我们需要对部署进行更多的控制,并且应该与相关的应用程序保持一致。问题是将条件检查具体化

例如,在下面这样的规则中,“2008”的检查将存储在数据库中

when 
    $customer:Customer(membersince <= "2008")
then
    $customer.setOfferPercent("50%")
什么时候
$customer:customer(membersince您可以创建一个(或多个)类,仅用于保存参数,例如限制,以及memberSinceElite等字段。然后您可以制定规则

when
    Limit( $mse: memberSinceElite )
    $c: Customer( membersince <= $mse, offerPercent != 50 )
then
    modify( $customer ){ setOfferPercent( 50 ) }
什么时候
限额($mse:memberSinceElite)
$c:客户(会员)
declare Properties
    member_since_elite : String @Property("member_since_elite")
end
when 
    $customer:Customer(membersince <= Properties.member_since_elite )
then
    $customer.setOfferPercent("50%")
when
    Limit( $mse: memberSinceElite )
    $c: Customer( membersince <= $mse, offerPercent != 50 )
then
    modify( $customer ){ setOfferPercent( 50 ) }