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

如何在Drools中删除主议程的默认焦点?

逑俊楚
2023-03-14

我正在使用Drools 6.2.0

我想将我的规则分组为3组(FIRST、MAIN、LAST),并按以下顺序执行它们:

  • 第一个
  • 主要
  • 上次

为此,我在必要的规则中使用了议程组“第一”和议程组“最后”。默认情况下,其他规则属于主议程。

我使用此代码指定顺序:

private void configureAgendas() {
    Agenda agenda = session.getAgenda();

    agenda.getAgendaGroup("LAST").setFocus();
    agenda.getAgendaGroup("MAIN").setFocus();
    agenda.getAgendaGroup("FIRST").setFocus();
}

我的问题是,主要议程总是在最后执行。所以,我要执行两次主要议程:

  • 首先
  • 最后
  • MAIN(再次执行。我想跳过这最后一次执行)

我怎样才能做到这一点?

如果我无法禁用MAIN议程的自动执行,如何创建将是最后执行的规则?

注意:我已经尝试过显著性整数。MIN\u值,但在此之后,我仍然有正在执行的主议程规则。

共有1个答案

公冶峰
2023-03-14

如果确实需要以这种方式控制规则执行,则应完全避免使用默认组,并将所有规则放在“一”、“二”、“三”中的一个。

请注意,规则外的规则属性。。。在取消或更改之前,end对以下所有规则都有效,因此无需为每个规则设置规则组。

(奇怪的是,在MAIN和LAST都用完之后,仍然有MAIN规则触发。我不喜欢这种情况。)

编辑:另一个选择是在LAST中添加一个优先级最低的规则,将焦点更改为FIRST。您可能需要另一个规则来“倒带”最后一个规则,以便它在下一轮结束时再次触发。

 类似资料:
  • 如何禁用这两个checkstyle规则文件,使它们不再困扰我?

  • 问题内容: 在我的JFrame中,我具有默认的咖啡图标。我要删除它。但是当我做setIconImage(null)时不起作用。谁能告诉我有关如何完全删除图标的解决方案 问题答案: 创建由一个像素(更好地透明)组成的图标并使用它。如果您需要这样的图标,请与我联系。我会寄给你。

  • 问题内容: 我在同一包中有2个班级。这两个类都具有main方法。现在,我想构建一个jar文件。我想建立2个jar文件,这些文件使用不同的主要功能作为默认主要功能。 例如 如何在NetBeans IDE中进行操作? 我找到了答案。您可以在netbeans中轻松地做到这一点:1)右键单击项目>属性>运行>选择类frm并下拉列表。在netbeans中是如此简单。Netbeans摇摇欲坠! 问题答案: 在

  • 我有一个包含ImageView和RecyclerView的Scrollview。如果导航抽屉打开然后关闭了RecyclerView自动滚动到顶部,如何停止?

  • 我有一个用于用户配置文件图像的模型,当我删除具有默认图像的用户时,默认图像也会被删除。我相信这是必须的,因为我设置了on_delete=models.CASCADE。 我尝试在ImageField中启用_delete=PROTECT,但它无法识别该属性。

  • 问题内容: 我需要在kafka-0.8.2.2.3中删除一个主题。我已使用以下命令删除该主题: 该命令已成功执行,但是当我运行命令以列出主题时,我可以看到该主题仍然存在,并且显示 标记为“删除” 。 当我创建主题DummyTopic时,它会输出异常,该主题已存在,下面是堆栈跟踪: 请让我知道如何删除该主题。 问题答案: 从0.8.2.x版本开始支持删除主题。您必须首先在所有代理上启用主题删除(设置