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

基于Java API的Drools规则语言

鲜于德业
2023-03-14

Thx回答。

共有1个答案

叶举
2023-03-14

正如Geoffrey提到的,Drools确实有一个用于构建规则的流畅API,但它不在公共API中。您可以使用,并且它已经稳定了几年,但您需要注意,随着时间的推移,由于添加到引擎中的功能,可能会发生变化。

该API由Drools解析器本身使用。以下是一些可以用作示例的单元测试:

https://github.com/droolsjbpm/drools/blob/6.3.x/drools-compiler/src/test/java/org/drools/compiler/lang/api/descrbuildertest.java#L451-L465

 类似资料:
  • 我是一个流口水的新手(6.3版),我很难想出一个具体的规则。我有一个名为Steps的类,只有一个简单的字段

  • 我是Drools Fusion的新手,我想知道为什么我的规则不总是被取消。我用的是Drools 6.3。以下是我要插入的事件: 这是我的规则文件: 这是我的输出: 我预计我的规则将触发2次,并给出以下输出: 我可能忽略了一些事情,但我没有找到关于我的问题的太多信息。有人能解释一下这里到底发生了什么吗?非常感谢。

  • 这是我的用例。我们正在尝试使用Drools实现策略服务器。可能有几十万(~200K)条规则,都是基于数据驱动的。一些示例规则: 注意:我在这里只使用了4个参数,但在任何给定的规则中最多可以有20个参数 策略#1和策略#2看起来简单明了。然而,策略#3很棘手。策略#3的最后一个条件(BORN\u STATE\u supporting=TRUE)表示策略上的状态是“包含的”,这意味着,如果规则匹配,结

  • 我的问题是: 在Drools规则中,有没有一种方法可以拦截“成功”事件?为了更好地解释。。。有一种方法可以在规则的所有条件都为真时调用侦听器? 注意:我不想设置一个全局对象(在会话上)来管理规则的“然后”子句中的这个条件。 我正在寻找一个已经在Drools上实现的解决方案 规则示例

  • 我最近注意到一些流口水规则的奇怪行为。我有班级心率,它有以下字段: 我的规则文件如下: 我想将字段<代码>心率更改为<代码>心率,并在我的规则中更改字段名称,以便我的新规则现在是: 但这会产生错误,即drools无法解析该字段的心率。但是,当我将规则更改回原来的规则时,使用心率(heartRate),它可以正常工作,尽管这样的字段已经不存在了。我得到以下错误: