问题标签 [drools-guvnor]

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 回答
6195 浏览

java - 集成 Java Webapp + drools + Guvnor 如何以及是否值得?

我计划引入 Java 规则,目前正在评估 Drools 以从应用程序中外部化(物理上和逻辑上)业务规则。

由于这些业务规则通常由业务部门负责,因此我希望业务部门通过 GUI 对规则进行必要的更改。

我在谷歌上搜索了集成 java web 应用程序 + Drools + Guvnor,但我没有得到任何结果。

我的问题:

  1. Drools 是否支持用于编辑规则的轻量级 GUI?
  2. Drools Guvnor 是一个轻量级的 GUI,还是有办法让它降级?
  3. 将应用程序集成到 Guvnor 以读取规则有多容易?

关于集成 Java 应用程序 + Drools + Guvnor 的简单实现的任何其他建议都会很棒。

任何指向教程的指针也可以为我做。

0 投票
2 回答
323 浏览

jsf - 翻译 Drools 生成的事实

首先:如果我的请求完全错误,请关闭它并指出我正确的方向。

我在 JSF 应用程序中使用 Drools(带有 Guvnor 创建的规则)来验证创建的对象。基本上,工作流程是:

  1. 用户创建一个对象
  2. 触发规则以检查此对象
  3. 检查失败的规则在工作记忆中插入一个新的事实并带有一些消息,解释验证失败的原因
  4. 事实从工作内存中提取并显示在 JSF 应用程序中

我的问题:翻译这些信息的最佳方式是什么?对于这种情况,是否有任何“最佳实践”?

0 投票
0 回答
799 浏览

bpmn - 在 drools-guvnor 中查看规则流文件

我正在从事一个涉及在 Drools 流程中创建工作流程的项目。我有很多规则流 (rf) 文件,我希望它们可以通过 Web UI 进行查看。

我已经看到 drools-guvnor 允许管理 rf 文件。但似乎它不允许用户查看它们(仅下载作品)。

我还听说 bpmn 文件格式适用于 Guvnor,但在我的工作流程中,我需要使用全局对象,我认为它不受支持。

所以我的疑问是,有没有办法在 Guvnor 上显示 rf 文件?并且可以在 bpmn 文件中使用全局变量吗?

0 投票
1 回答
3023 浏览

drools - 尝试使用来自 guvnor 的 changeset.xml 读取规则会导致错误

我尝试使用以下代码从 Guvnor 加载包:-

GenderFact.xml 的内容是:-

当我尝试从 Eclipse 执行此操作时,出现以下错误:-

java.lang.RuntimeException:java.io.InvalidClassException:org.drools.rule.MVELDialectRuntimeData;本地类不兼容:流classdesc serialVersionUID = 5166066541265170937,本地类serialVersionUID = -64624826351992706 at org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:705) at org.drools.compiler.PackageBuilder.addPackageFromChangeSet(PackageBuilder.java:772)在 org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:694) 在 org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:45) 在 org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl .java:34) at com.sample.DroolsTest.readKnowledgeBase(DroolsTest.java:43) at com.sample.DroolsTest.main(DroolsTest.java:26) 原因:java.io.InvalidClassException: org. drools.rule.MVELDialectRuntimeData; 本地类不兼容:流classdesc serialVersionUID = 5166066541265170937,本地类serialVersionUID = -64624826351992706 at java.io.ObjectStreamClass.initNonProxy(Unknown Source) at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source) at java.io.ObjectInputStream.readClassDesc(Unknown源) 在 java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) 在 java.io.ObjectInputStream.readObject0(Unknown Source) 在 java.io.ObjectInputStream.readObject(Unknown Source) 在 java.util.HashMap.readObject(Unknown Source)在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 在 java.lang.reflect.Method。

先决条件:-

  • 我将 Guvnor 5.3 与 jboss AS 7.0 一起使用。
  • 客户端和服务器都共享同一个 jre7。
  • Eclipse Indigo 中的 Drools 运行时 5.3(服务版本 2)

请求解决方法...

0 投票
1 回答
545 浏览

drools - 规则对象模型:声明式 vs POJO

我已经读过将规则对象模型与业务层对象模型分开是明智的。drools-guvnor 支持两种模型:声明式和 POJO。哪个更适合在大型企业应用程序中使用?

设想的架构由一个应用程序服务器上的 Presentation+Business Layer 和另一个具有包装 Web 服务的 guvnor 组成,其中 Rules WS 为业务逻辑公开 SOAP Web API 以验证规则。

0 投票
1 回答
1587 浏览

drools - 以编程方式添加 gdst(引导决策表)

虽然有以编程方式添加 DRL 规则的方法,但无法找到是否可以以编程方式添加“引导决策表”。这些规则在 WebDAV 中可见,因为 gdst 文件只是 XML。是否有 API 可以在没有 guvnor UI 的情况下创建这些规则,使用 WebDAV 或 REST 上传到 guvnor 并稍后使用 UI 进行更改?

0 投票
0 回答
1365 浏览

java - 如何从java类调用guvnor规则

我想从简单的 java 文件中调用 guvnor 规则。但我面临着它的问题。我正在使用 jboss7 进行部署。如果我错过任何事情,请任何人告诉我。

我的 drl 规则

我的豆文件

变更集.xml

TestGuvnor.java 文件

0 投票
1 回答
548 浏览

drools - Drools Guvnor 和 Oracle 集成

我想将 Oracle db 配置为 Drools Guvnor。

请让我知道如何做到这一点。任何链接也将有所帮助。

感谢期待 Bala Krishna.N

0 投票
1 回答
3423 浏览

drools - 检查 Drools 规则文件中的语法错误

我是 Drools Guvnor 的新手,并且已经使用它建立了一个基本的 rool 框架。我只想知道当前的 Drool 文件是否正确。

截至目前,除了端到端运行它之外,我别无他法。有什么可以立即检查编译问题吗?

编辑:

当我们有语法错误时,例如,'string.Contains' 而不是 'string.contains' 验证/验证成功通过,'Build Package' 选项也是如此。如果我遗漏了什么,请告诉我。

除此之外,我对 QA 部分不太了解(事实上,我们还没有在那里进行任何测试)。

谢谢,

0 投票
2 回答
1296 浏览

java - JVM 连接不足导致 CPU 使用率过高和 OutOfMemoryException

我们有一台 64 位的 linux 机器,我们与其他服务建立多个 HTTP 连接,Drools Guvnor 网站(如果你不知道,规则引擎)就是其中之一。在 drools 中,我们为每个被触发的规则创建知识库,并且知识库的创建与 Guvnor 网站建立 HTTP 连接。

所有其他线程都被阻塞,CPU 利用率上升到 ~100%,导致 OOM。我们可以在 15-20 分钟后进行更改以编译规则。但如果有人已经面临这个问题,我想确定这个问题。

我检查了"cat /proc/sys/kernel/threads-max"它显示27000个线程,这是一个原因吗?

我有几个问题:

  1. 我们什么时候知道我们的容量已经超出了?
  2. 可以在内部产生多少线程(任何粗略估计或与差异参数相关的公式都可以)?
  3. 有没有其他人看到过 Drools 的类似问题?并发访问 Guvnor 网站基本上是导致问题的原因。

谢谢,