当前位置: 首页 > 知识库问答 >
问题:

有可能在口水中不暴露一个规则吗?

澹台俊达
2023-03-14

假设我有一个这样的drools文件

rule "Test Rule 1"
salience 10

when
    $data : Map( this["amount"] >= 1000 && this["quantity"] >=3 )
then
    System.out.println("You've met the Criteria");
end

===========================================================================================

rule "Test Rule 2"
salience 9

when
    $data : Map( this["amount"] >= 1000 )
then
    System.out.println("Quantity Criteria is not met");
end

===========================================================================================

rule "Test Rule 3"
salience 8

when
    $data : Map( this["quantity"] >= 3 )
then
    System.out.println("Amount criteria is not met");
end

所有这些都将出现在一个.drl文件中。就像在规则中一样,规则的顺序将基于最高的突出数。我需要一些东西,

我知道我可以更改when条件以满足我的标准,但我想知道Drools中是否有取消公开规则的选项?

共有1个答案

慕容晔
2023-03-14

测试规则1的末尾添加drools.halt();

 类似资料:
  • 我不太会流口水和咕噜。 我有一个关于规则流的基本问题。 我在guvnor插件上使用引导编辑器创建了3条规则。现在我想根据第一条规则的结果调用第二条或第三条规则。 e、 g.如果患者年龄小于18岁,则进行第二条规则的小检查,否则请调用第三条规则由高级医生进行检查。 那么,这可以通过使用规则流来实现吗?如果是,如何?是否有任何示例链接和文档来演示它?非常感谢您的帮助。 谢啦

  • 我正在尝试用Docker和Selenium Grid建立一个自动化测试平台。在下图中,你可以看到我使用的结构。最上面是运行在计算引擎上的ubuntu服务器。左边是一个运行ubuntu 14.04的docker容器。该容器使用Google App Engine在localhost:8080上运行我们的项目。右边是Selenium集线器,有两个节点在端口4444上运行。 Docker和Selenium

  • EXPOSE 声明端口 格式为 EXPOSE <端口1> [<端口2>...]。 EXPOSE 指令是声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务。在 Dockerfile 中写入这样的声明有两个好处,一个是帮助镜像使用者理解这个镜像服务的守护端口,以方便配置映射;另一个用处则是在运行时使用随机端口映射时,也就是 docker run -P 时,

  • 我有很长时间使用JBOSS Drools的经验。我正在处理的当前项目使用Drools 4。 这是我在项目中的一条规则 想法是从没有关联目标对象的工作内存中收回此类项目。我正在使用工作内存中的这些对象对其进行测试: 项目{itemId=7305,itemTYpeId=Item\u TYPE\u A,targetId=-1023}目标{targetId=-1023} 在这种情况下,规则不应该开火,但它

  • Drools文档提到,规则可以使用诸如生效日期和过期日期之类的属性来指定绝对规则有效期。 例如 Drools还支持周期性重复的规则,间隔为,cron为,但这意味着规则是在这样的点触发的。 我很感兴趣,如果有任何选项如何指定定期可用(不解雇)的规则与时间限制。例如,让我们想象一些公司的营业时间-操作只能在正式工作期间执行,但不能在下班后执行。 我想要这样的东西,但这不是Drools的有效规则 是否可

  • 我刚开始流口水,遇到了一个问题。 我简化了规则以显示问题: 基本上,我想计算特定路段上发生的事件(路段是道路的一部分)。当同一链接上发生3个事件时,我希望触发规则。 上面的规则几乎起作用了,但是当它发射时,它发射了3次,每个事件发射一次。我只希望它发射一次。 我错过了什么? 非常感谢。