`

基于jboss rule规则引擎的商务折扣例子

    博客分类:
  • java
阅读更多

xxx购物超市折扣规则描述:
 1.任何顾客的购物总价大于1000元则享受9折优惠
 2.vip顾客的时候无论购物总价是多少享受7折优惠
 3.普通顾客没有特别政策,另有规定的除外
 4.白金顾客享受8.5优惠,无论购物总价多少。
 5.黄金顾客享受9折优惠无论购物总价多少。
 6.任何顾客所够商品中包含tv的时候,优惠后再优惠9.5折
这个user case 是自己想的,不是很复杂

对应的规则文件

#created on: 2006-6-10
#created by: kebo
package com.sample

import com.sample.Person;
import com.sample.ShopCat;
import com.sample.Product;
import com.sample.Helper;


rule "PRICE_DISCOUT"
 salience 2
 no-loop true
 when
  p:Person(c:cat->(c.getTotalPrice()>1000),discout==1)     
 then
  p.setDiscout(0.9);
  modify(p); 
end

rule "VIP"
 salience 3
 no-loop true
 when
  p:Person(type==Person.VIP,discout==1)     
 then
  p.setDiscout(0.7);
  modify(p); 
end

rule "COMMON"
 salience 3
 no-loop true
 when
  p:Person(type==Person.COMMON,discout==1)     
 then
  p.setDiscout(1);
  modify(p);
end

rule "PLATINA"
 salience 3
 no-loop true
 when
  p:Person(type==Person.PLATINA,discout==1)     
 then
  p.setDiscout(0.85); 
  modify(p);
end

rule "GOLD"
 salience 3
 no-loop true
 when
  p:Person(type==Person.GOLD,discout==1)     
 then  
  p.setDiscout(0.9); 
  modify(p);
end

rule "CONTAIN TV"
 salience 1
 no-loop true
 when
  p:Person(c:cat->(Helper.isContainType(c.getProducts(),Product.TV)))     
 then
  p.setDiscout(0.95 * p.getDiscout());
  modify(p);
end

解决rule的冲突还是比较麻烦的。

为什么blogjava没有code着色功能呢?代码贴上去一点都不好看,唉!

 

 

分享到:
评论

相关推荐

    jboss rule 规则引擎 中文版

    jBoss Rule(现称为Drools)是一个开源规则引擎,基于查尔斯·弗罗姆曼的《产生式规则方法》一书中提到的Rete算法。该引擎支持复杂的事件处理和业务流程管理,使得开发者能够更加灵活地管理和改变业务逻辑。 #### ...

    myeclipse安装drools jboss rules规则引擎

    myeclipse安装drools jboss rules规则引擎

    基于Java的规则引擎

    - **Redhat JBoss Drools**:开源规则引擎,基于Maven构建,与Java EE和Spring框架集成良好,提供Drools Workbench进行规则管理。 - **JESS**:基于Lisp的规则引擎,主要用于教育和研究,因其简洁的语法和解释器而...

    基于Java的规则引擎--java规则引擎

    - **JBoss Drools**:Drools是开源的Java规则引擎,它基于MVEL和Java的规则语言,提供强大的规则推理和工作流功能。 - **JESS**:JESS(Java Expert System Shell)是一个基于Lisp的规则引擎,虽然不如前两者流行...

    规则引擎drools-jboss rules

    规则引擎 Drools-JBoss Rules 规则引擎是人工智能(Artificial Intelligence)领域中的一种技术,用于实现专家系统,专家系统使用知识表示把知识编码简化成一个可用于推理的知识库。规则引擎是一个基于规则的方法...

    基于JBoss 4.x的J2EE 1.4应用开发指南

    J2EE发展趋势 案例研究 J2EE Tutorial Java Pet Store Java Adventure Builder 钟情JBoss 4.x 全书内容安排 1 安装JBoss 4.x 2 安装JBoss-IDE 1.4.0 3 基于JBoss 4.x的JSF应用开发 ...

    JAVA规则引擎JBOSS RULES(DROOLS 6.5) 动态规则

    JAVA规则引擎JBOSS RULES,也被称为DROOLS,是一种强大的业务规则管理系统,它允许开发者用自然语言来编写业务规则,并在运行时执行这些规则。DROOLS 6.5是该规则引擎的一个版本,提供了许多改进和新特性,以提高...

    jboss 规则引擎 drools库 drools-compiler-5.1.1.jar

    jboss 规则引擎 drools库。 api,core,compiler,jsr94 drools-compiler-5.1.1.jar

    Drools规则引擎开发实例+源码

    它基于Java平台,由JBOSS组织维护,支持基于 declarative 的规则编写方式,使得非程序员也能理解和修改规则,大大提升了业务规则的灵活性和可维护性。 Drools的核心概念包括以下几个部分: 1. **规则(Rule)**:...

    jboss drools5.5 规则流完整代码

    **JBoss Drools 5.5 规则流完整代码详解** JBoss Drools 是一个开源的业务规则管理系统(BRMS),它允许开发者通过规则语言(如DRL)来定义和执行业务规则。在5.5版本中,Drools 提供了强大的规则流(Rule Flow)...

    规则引擎的介绍

    规则引擎的工作原理基于一种称为“条件-动作”(If-Then)的逻辑结构,即如果满足特定条件,则执行相应的操作。这一机制通过规则库的构建和推理引擎的执行来实现: 1. **规则库**:存储所有预定义的业务规则,每条...

    myeclipse8.6安装jboss drools 6.0规则引擎插件

    本文将详细介绍如何在MyEclipse 8.6中安装和配置JBoss Drools 6.0规则引擎插件...这样,您就完成了基于MyEclipse 8.6的JBoss Drools 6.0规则引擎的集成和设置,现在可以充分利用Drools的强大功能来管理您的业务规则了。

    Drools 规则引擎的介绍及应用

    规则引擎是一种软件系统,用于执行基于预定义规则的决策逻辑。这些规则通常表示为业务规则,旨在模拟人类专家在解决特定问题时所遵循的逻辑过程。规则引擎的核心功能在于能够根据输入数据动态地选择和执行相应的规则...

    规则引擎Drools入门实战案例

    规则引擎,全称为业务规则管理系统,英文名为BRMS(即Business Rule Management System)。规则引擎的主要思想是将应用程序中的业务决策部分分离出来,并使用预定义的语义模块编写业务决策(业务规则),由用户或...

    Java规则引擎相关论文_Java规则引擎_

    Java规则引擎是一种强大的工具,它允许程序在运行时执行基于业务规则的决策。这些规则可以是复杂的逻辑,涉及多个条件和操作,而规则引擎则负责管理和执行这些规则,使得业务逻辑与应用程序的主体代码分离,提高了...

    开发基于JBoss的J2EE应用

    ### 开发基于JBoss的J2EE应用:深入解析与实践指南 #### 一、引言 JBoss作为一款开放源代码的Java应用服务器,在J2EE应用开发领域占据着重要地位。它不仅以高性能的EJB容器著称,还因其便捷的部署方式和对最新技术...

    基于JBOSS_jBPM工作流技术的改进和应用

    基于JBOSS_jBPM工作流技术的改进和应用基于JBOSS_jBPM工作流技术的改进和应用

    jboss rules 用户指南(中文)

    之前学习jboss rules 只能自己一点点的啃英文用户指南,后来终于找到了中文版的翻译版本,真是高兴,立即奉献给大家,让对规则引擎感兴趣的朋友也能一堵为快。 内容摘要:JBoss Rules 的前身是Codehaus的一个开源...

    drools规则引擎系统概要设计说明书

    标题和描述中提到的知识点涵盖了Drools规则引擎和JBoss这两个关键技术组件。Drools是一个基于Java语言的开源规则引擎,它允许开发者将业务规则从应用程序的源代码中分离出来,以规则的形式进行管理。JBoss是一个广泛...

Global site tag (gtag.js) - Google Analytics