一、Drools规则引擎实例
1电商折扣规则
实现VIP用户满减逻辑:
// 规则文件 discount.drl
rule "VIP用户满100减20"
when
$user: User(level == "VIP")
$order: Order(amount > 100)
then
$order.addDiscount(20);
end
Java调用代码:
KieServices kieServices = KieServices.Factory.get();
KieContainer kContainer = kieServices.getKieClasspathContainer();
KieSession kSession = kContainer.newKieSession("discountSession");
kSession.insert(user);
kSession.insert(order);
kSession.fireAllRules();
特点:完整的RETE算法实现,支持复杂规则网络
2、手机话费计算
规则示例:
rule "新用户送20元话费"
when
$user : User(isNew == true)
then
$user.addBalance(20);
end
实现开户、充值次数等业务规则解耦
二、EasyRules轻量级实例
1、基础规则定义
@Rule(name = "weatherRule")
public class WeatherRule {
&n

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



