Drools - 规则层次结构和条件执行

2024-01-03

我想知道是否有一种方法可以定义规则之间的层次结构(而不​​仅仅是执行顺序)并控制规则执行 - 即如果父规则被触发,则不应评估下面的规则等...

该线程中的信息是一个选项,但本质上是 IF/THEN/ELSE https://stackoverflow.com/questions/9771396/drools-jboss-rule-nested-ifs

有不同的选择吗?

thanks


我不确定我是否理解您的问题,但结合使用激活组和传统的冲突解决策略可能会达到您的需求。例如,假设您有 3 个规则,A、B 和 C。您希望使用显着性按顺序赋予它们执行优先级,并且一旦执行其中一个规则,该组中的其他规则就不应执行。您可以这样定义它们:

rule A
    salience 30
    activation-group "x"
...

rule B
    salience 20
    activation-group "x"
...

rule C
    salience 10
    activation-group "x"
...

显着性保证如果 A 激活,它将首先触发,然后是 B,如果它们被激活,则接着是 C。激活组保证一旦其中一条规则触发,该组中所有其他激活的规则都将被取消。因此,假设在您的会话中,规则 B 和 C 激活,但规则 A 未激活,则 B 将触发,而 C 将被取消。

请注意,激活组不会阻止规则稍后重新激活。它只是在组中的规则之一触发时取消当前议程中的任何激活。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Drools - 规则层次结构和条件执行 的相关文章

  • 流星铁路由器嵌套路由

    我有两个具有一对多关系的流星集合 建筑物和空间 在我的建筑页面上 我想显示与建筑相关的空间 现在 我是这样做的 buildingsRoute coffee BuildingController RouteController extend
  • JUnit @Rule 生命周期与 @Before 交互

    我有一些 JUnit 测试使用TemporaryFolder Rule 他们使用TemporaryFolder in a Before执行一些设置的方法 Rule public TemporaryFolder folder new Temp
  • 将 vue 的槽嵌套在槽中

    更新 这是我在这里试图实现的简化版本 来自下面的线程对话 接受组件 A 接受组件 B 接受条件 if 条件为 true 用组件 A 包裹组件 B 并渲染 仅适用于其他情况 渲染组件 B I m有兴趣创建一个有条件地呈现包装器的组件 我估计理
  • Java规则引擎的优缺点[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 采用 Java 规则引擎的优点和缺点是什么JESS http www jessrules com and Drools http www jbo
  • 将嵌套列表转换为嵌套字典

    我有这个清单 list1 X1 2 X2 4 Y1 2 Y2 4 我想创建这个字典 dict1 X 1 2 2 4 Y 1 2 2 4 这样我就可以使用dict1 X 1 这输出 2 有人可以帮我吗 我尝试了多种方法但没有成功 您可以使用c
  • 列表理解创建嵌套列表

    我想创建每月天数列表每年列表的嵌套列表 31 29 31 30 31 28 31 30 with mm 1 2 3 4 yy 2012 2013 但我的代码 result append calendar monthrange y m 1 f
  • 如何从嵌套列中提取 json 到数据帧

    我正在从 TD Ameritrade API 中提取股票数据 并且希望将其存储在 DataFrame 中 从 API 中 我得到一个嵌套的 JSON 对象 当我将其放入数据框中时 我得到 4 列 索引 蜡烛 空 符号 然而 蜡烛内部是一个字
  • 使用 SQL Server CTE 扁平化层次结构系列

    寻找 SQL Server CTE 示例来创建层次结构 以便我可以输出所有系列 例如展平每个层次结构 例如 在家谱中 如果根从祖父母开始 我需要每个家庭成员的层次结构列表 其中包含成员详细信息 父母的行详细信息 喜欢 child1 row
  • PackageBuilder.java 在 Drools 6.1.0.final 中不可用

    我是 drools 的新手 目前我们在项目中使用 Drools 5 4 0 目前我们使用Drools 5 4 0的RuleCompiler java和PackageBuilder java类来编译 xls文件并创建ruleSetObject
  • 如何在 Swift 中访问深度嵌套字典

    我的应用程序中有一个非常复杂的数据结构 我需要对其进行操作 我正在尝试跟踪玩家的花园中有多少种错误 虫子有十种 每种有十种图案 每种图案有十种颜色 因此可能存在 1000 个独特的错误 我想跟踪玩家拥有的每种类型的错误数量 嵌套字典如下所示
  • Python 中的嵌套函数如何工作?

    def maker n def action x return x n return action f maker 2 print f print f 3 print f 4 g maker 3 print g 3 print f 3 st
  • drools 中是否有任何 API 可以通过传递值来动态创建 drl 文件?

    我知道如何使用所有方法在 KIE 工作台中创建 DRL 文件 但我的问题是不使用 KIE 工作台 我们可以创建 drl使用我们所需的值进行文件 如果有任何可能性 请建议我 同样的方式建议我任何与此相关的 API 提前致谢 您可以使用Droo
  • 持久感知 KieSession 在事务期间不使用悲观锁

    我在用Drools with 春季启动2 3 我已经实现了持久意识KieSession 其中MySQL用于存储会话 我已经成功集成了默认的EntityManagerFactorySpring Boot 与 Drools 的结合 但我的问题是
  • 嵌套绑定和管道转换

    为了减少冗余的 XAML 标记 我尝试获取一般填充的单选按钮类型选择控件 即我使用ItemsControl与枚举为ItemsSource并创建一个 DataTemplate 通过检查项目的枚举值是否与当前设置相同来显示选择了哪个项目 仅使用
  • 如何从嵌套 Jar 中提取 .class 文件?

    我有一个名为 的 Jar 文件外部Jar jar 其中包含另一个名为 的罐子内Jar jar 此 InnerJar 包含 2 个名为 的文件测试1 类 测试2 类 现在我想提取这两个文件 我尝试了一些代码 但它不起作用 class Nest
  • 使用 Go 解组嵌套 xml

    我有以下代码片段 我一直在努力让它工作 我到处寻找解决方案 但我找到的解决方案似乎都不起作用 我的映射似乎有问题xml Unmarshal命令 因为它涉及嵌套字段 下面的代码用于检索第一个被称为的值unit 并且位于 xml 代码的顶层 另
  • 开发 Delphi Windows 7 应用程序的规则 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在哪里可以找到开发适用于 Windows 7 的 Delphi 应用程序时应遵循的最佳规则集 Marco 最近发表了 2 篇关于此主题的帖
  • 如何使用 Sencha Touch 数据模型读取嵌套 JSON 结构?

    我整个晚上都在试图解决这个问题 但没有成功 我有一个 JSON 结构如下 来自另一个系统 所以我无法更改其结构 parents parent parentId 1 children child childId 1 ch
  • 计算 python 字典/数组数据结构的非空尾叶 - 递归算法?

    我正在寻找一个函数来查找一种复杂字典 数组结构的所有非空端点 我认为因为我不知道嵌套数组的数量或它们的位置 所以它必须是递归的 而我只是还没有完全理解这种思维方式 所以对于嵌套字典 x top middle nested value nes
  • R 数据框到嵌套列表

    我想将这种格式的数据帧 tbl 转换为以下嵌套列表 tbllst library tidyr tbl lt tribble Col1 Col2 Col3 Var1 Var1 1 Var1 1 1 Var1 Var1 1 Var1 1 2 V

随机推荐

  • Sql:将行转变成列

    考虑下面的例子 我有一个Person包含人员记录和人物属性包含链接到人员的可选属性的表 表 人 ID Name 1 Joe Bloggs 2 Jane Doe 表人员属性 PersonId Key Value 1 Age 27 2 Hair
  • 是 C++ 语句“delete [] Q;”的 Big-O O(1) 还是 O(n)?

    标题是不言自明的 很简单的问题 我认为这是 O n 但想在明天的期末考试之前验证一下 简短的回答是 这取决于情况 If Q是一个指向具有析构函数的对象数组的指针 那么delete Q将需要调用所有这些析构函数 这将调用 O n 析构函数 其
  • X86 原子 RMW 指令是否空闲等待

    在 x86 上 原子 RMW 指令如lock add dword rdi 1在现代 CPU 上使用高速缓存锁定来实现 因此 高速缓存行在指令执行期间被锁定 这是通过在读取值时获取行 EXCLUSIVE MODIFIED 状态来完成的 并且
  • 如何对连续行进行分组?

    所以 我有一个包含如下行的表 Ev Message Ev Comment EV Custom1 Ev Time Ms Machine 1 Alarm 5 23 2016 11 02 00 AM Alarms Scanned 25 Machi
  • 对屏幕阅读器隐藏图标的适当方法是什么

    在我的网络应用程序中 我为自己制作了一种仅由图标组成的字体 我使用这些图标来补充应用程序中的标题和子标题 并使其在视觉上更具吸引力 然而 像 JAWS 这样的屏幕阅读器会读出这些内容 这会给屏幕阅读器的用户带来不愉快的体验 例如角色c显示云
  • 从 SimpleXMLElement 对象获取值

    我有这样的事情 url http ws geonames org findNearbyPostalCodes country pl placename url rawurlencode city i xml simplexml load f
  • “图表”和“渲染器”同时使用时,HighCharts 性能会急剧下降

    我试图对 HighCharts 的性能有一些感受 比较这两个代码 A 1000 个矩形Renderer object http jsfiddle net highcharts jxpSk 3 50ms B 1000 个矩形Renderer
  • 设置 Eclipse 插件的启动级别和自动启动:p2.inf 与产品定义

    我知道我可以使用 p2 inf 文件或产品定义文件在 Eclipse 中设置捆绑包的启动级别和自动启动标志 在产品文件中执行此操作可以为我提供工具支持 并将设置放入我的启动配置中 另一方面 使用 p2 inf 文件允许我根据每个功能管理启动
  • 如何在 SwiftUI 中没有 NavigationButton 的情况下导航到 NavigationView 中的另一个视图?

    正如问题所说 我想在没有 NavigationButton 的情况下导航到另一个视图 例如 UIkit 中的 pushView 和 popView 我认为这更像是一种限制的解决方法 但它对我有用 添加一个布尔状态变量 用于定义链接是否处于活
  • 使用 find 和 grep 删除文件列表

    我想删除名称包含特定单词的所有文件 例如 车 到目前为止 我想出了这个 find grep car 如何将输出传递给 rm find name car exec rm f 或将管道的输出传递给xargs find grep car xarg
  • 错误:无法访问 jarfile bfg.jar - BFG

    所以我在之前的提交中错误地提交了 Secrets yml 哎呀 我想清除它的 git 提交历史记录 看来最简单的禁食方法就是使用BFG 我已经下载了 jar 文件并安装了 Java 并且我已经创建了我的存储库的镜像 但是当我按照文档运行命令
  • 在分区表上同时创建索引

    我正在使用 postgresql 14 1 并且我使用某些表的分区重新创建了实时数据库 因为我这样做了 所以我可以在服务器不活动时创建索引 但是当它活动时我只能创建使用concurrently但不幸的是 当我尝试同时创建索引时 出现错误 运
  • perl 遍历目录

    我正在尝试获取指定路径中所有目录的名称 我尝试了以下操作 但这给了我每个级别 而不仅仅是在我指定的路径上 find dir names C mydata sub dir names print File Find dir n if f Fi
  • 我可以在 Scala 中定义“方法私有”字段吗?

    鉴于这种情况 object ResourceManager private var inited false def init config Config if inited throw new IllegalStateException
  • MySQL 将十六进制转换为双精度

    MySQL 中应采用哪种方法将十六进制 8 字节 转换为双精度值 为了从 HEX 转换为 INT 我使用 CONV hex value 16 10 但为了转换为双倍我不知道 CREATE FUNCTION HEX2DOUBLE hex in
  • 在 Objective-C 字符串格式中添加零

    快速问题 我试图在 NSString stringWithFormat 格式化字符串中用特定数量的零填充空白 例如 我想要 The number is d 5 I want this to output the number is 05 t
  • 将 HTML 或 RTF 格式的文本插入 Word 书签

    我尝试将格式化文本插入 Word 书签 文本来自多个富文本控件 我们使用 TX Text Control 并附加到书签中 问题在于标签是按原样编写的并且没有被解释 oWord New Word Application Dim strFile
  • XUnit 测试项目只有 1 个 Main 方法:“程序定义了多个入口点。”

    我在 Visual Studio 2017 RC 中将 vNext 格式的 NET xUnit 测试项目 带有 project json 转换为新的 csproj 格式 并开始出现以下错误 大多数对此错误的在线答案都说 您有两个 Main
  • 将评分函数从 sklearn.metrics 传递到 GridSearchCV

    GridSearchCV 文档 http scikit learn org stable modules generated sklearn grid search GridSearchCV html表明我可以通过评分功能 评分 字符串 可
  • Drools - 规则层次结构和条件执行

    我想知道是否有一种方法可以定义规则之间的层次结构 而不 仅仅是执行顺序 并控制规则执行 即如果父规则被触发 则不应评估下面的规则等 该线程中的信息是一个选项 但本质上是 IF THEN ELSE https stackoverflow co