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

如何动态选择drools规则在业务规则任务级别执行?

丌官浩旷
2023-03-14

我想在不同的规则流中使用一些drools规则。由于Drools规则一次只支持一个规则流组名称,并且规则流业务规则任务也可以映射到单个规则流组,所以我无法在不同的规则流中使用相同的规则。有没有其他方法可以用来过滤规则?比如使用标记或元数据?

共有1个答案

计均
2023-03-14

您可以创建自己的规则组。创建一个类OwnRuleGroup,其中字符串组作为字段。然后,当您触发规则时,您将创建自己的规则grup的实例

OwnRuleGroup myGroup = new OwnRuleGroup();
myGroup.group = "foo";

并将其与其他事实一起插入会话。在每个规则中,您都可以指定要触发哪些组。

rule "This will fire for groups foo,bar"
when 
  OwnRuleGroup(group in ["foo", "bar"])
 类似资料:
  • 我是规则引擎新手,我的应用程序需要从文件系统动态加载xml文件中的规则,因为管理员可以在运行时创建规则。(Java) 我的问题是:有没有可能流口水?如果是,那么请分享知识,如果不是,那么还有其他选择吗?

  • 我正在使用drools引擎构建一个预警系统。当条件满足时,我们需要在规则(RHS)的操作上执行由Spring Framework实例化的@Service方法。 让Spring框架创建的@service实例被Drools规则的操作(RHS)使用的方法是什么? 我遵循了以下指示: 使用表单导入功能(Rule1.drl)。此解决方案不起作用,因为该类是在drools中实例化的,需要执行静态方法 关于如何

  • 当规则应用程序在KIE服务器上运行时,如何启用规则引擎跟踪/日志记录? 规则应用程序是在工作台中创建的,不包含自定义代码。我能够使用KIE REST API执行规则,但是规则应用程序没有产生预期的结果。 环境: 我尝试了以下步骤: 使用Git在本地克隆工作台项目 将logback.xml添加到项目的根目录 将更改推回到工作台git repo 在工作台项目编辑器视图中添加了日志作为依赖项 更新项目版

  • 我是个新来的流口水的人,正在尝试为牙齿保险申请设计一些规则。系统基本上会让用户知道,根据之前执行的服务的历史记录,他们将要执行的程序可能不在保险范围内。它还将有其他规则,可能是基于年龄的,但我可以处理这些规则。 我的事实是: 患者-患者信息列表 服务-以前执行的服务。(即:服务代码=D1234,执行日期=日期) 警报-(alertName=“X射线2/12个月期间”) 我需要一条规则,说明患者在过

  • 我在同一个drl文件中有两个Drools规则,如下所示: 我的想法是用第一条规则处理所有处于临界状态的事件。然后使用第二个规则,如果任何阀门有警报,这是由“如果临界”规则设置的,发送一个短信。 你知道吗?用口水可能吗?

  • 我知道Drools中的“显着性”提供了对规则执行顺序的控制。但上面是一个例子,说明了当“显着性”不再能帮助我时所面临的问题。 在这里,我有三条规则正在相继执行: 我期望第三条规则被触发,并且控制台中有“规则被触发”行,但它没有被执行。 据我所知,问题在于规则评估阶段,当所有三个规则在执行前同时评估,然后才根据它们的“显着性”回合执行。 在评估的那一刻,$resource1.amount是5,这就是