首页 > 其他 > 详细

drools规则引擎中易混淆语法分析_循环触发导致死循环分析

时间:2018-03-11 15:07:57      阅读:287      评论:0      收藏:0      [点我收藏+]

整理了下最近在项目中使用drools出现的问题,幸好都在开发与测试阶段解决了,未波及到prod。

首先看这样两条规则

/**
 * 规则1_set默认利率
 */
rule "rate_default"
        no-loop true
    when
        $request:AmountRateRequest(calculateEnum == CalculateEnum.INTEREST || calculateEnum == CalculateEnum.AMOUNT_INTEREST)
        $response:AmountRateResponse(rateMap not contains LoanTermEnum.LOANTERM3)
        $data:DroolsData()
    then
        DroolsClient.logger.debug("{}执行规则{}", $response.getUserId(), drools.getRule().getName());
        $response.getRateMap().put(LoanTermEnum.LOANTERM3, RateFactory.DEFAULT_RATE);
        update($response);
end

/**
 * 规则2_set默认利率+万1
 */
rule "rate_up1"
        no-loop true
    when
        $request:AmountRateRequest(calculateEnum == CalculateEnum.INTEREST || calculateEnum == CalculateEnum.AMOUNT_INTEREST)
        $response:AmountRateResponse(rateMap not contains LoanTermEnum.LOANTERM3)
    then
        DroolsClient.logger.debug("{}执行规则{}", $response.getUserId(), drools.getRule().getName());
        $response.getRateMap().put(LoanTermEnum.LOANTERM3, Rate);
        update($response);
end

 

drools规则引擎中易混淆语法分析_循环触发导致死循环分析

原文:https://www.cnblogs.com/loveCheery/p/8544115.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!