问题标签 [jboss-rules]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2182 浏览

java - drools.getRule().getName() 在属性 -rule 流水文件中

我需要根据来自后端的数据启用/禁用 drl 文件中的某些规则。即为迪拜启用规则 1,2,3,为新加坡启用 1,3 所以,我通过 drools.getRule().getName() 如下。

我在这方面遇到了错误。

0 投票
3 回答
2432 浏览

drools - Drools 规则插入新事实并动态触发其他规则

我是流口水和 kie 服务器的新手。我遇到了关于如何通过触发规则 RHS(然后是操作)在工作内存中插入新事实然后通过这些动态插入的事实激活其他规则的问题。

我期望的是当 BaseFeature 从外部插入工作内存并激活 RuleOne 时,在 RuleOne 内部“然后”它将插入新的事实 RuleResult,并期望激活 RuleTwo,但它没有激活 RuleTwo,只是激活了 RuleOne,那是我做错了什么吗?

在这里,我有两个规则和一组事实:

事实定义:

规则定义:

如何实现触发规则插入新事实并触发其他规则动态?预先感谢!

我正在使用 kie-server(6.5 Final) 进行测试,POST 和 Reponse 如下:

邮政:

回应:

请注意,响应:

它的预期是:

0 投票
1 回答
324 浏览

java - 如何在不调用规则的情况下测试 drool 文件中存在的函数?

我想为我的规则文件做junit。我的规则文件大致有两件事:

  1. 一条规则
  2. 我从规则的部分调用的辅助函数(在 drools 中,而不是 Java 中)

现在我想根据测试用例单独测试(断言)这个函数。有没有办法做到这一点?

现在我可以像这样从 java 代码中调用这个规则。

statelessSession.executeWithResults(rulesEngineParameters);

现在我想做类似的事情而不调用规则本身或执行整个 drl 文件。只有我想调用的 print() 函数。

0 投票
0 回答
59 浏览

java - 从 Java 8 迁移到 Java 11 后出现 Drools 错误

从 Java 8 迁移到 11 后编译规则时出现以下错误:

在 org.tolven.rules.PackageCompiler 编译规则包时出错(第 68 行) 原因:org.drools.commons.jci.compilers.EclipseJavaCompiler$2 的错误类格式(第 260 行) 原因:org.eclipse.jdt 处为空。 internal.compiler.classfmt.ClassFileReader(第 329 行)

使用以下 jar 并在 WildFly-16 上运行的应用程序:

关于是什么导致了这个问题的任何想法?