问题标签 [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.
java - 集成 Java Webapp + drools + Guvnor 如何以及是否值得?
我计划引入 Java 规则,目前正在评估 Drools 以从应用程序中外部化(物理上和逻辑上)业务规则。
由于这些业务规则通常由业务部门负责,因此我希望业务部门通过 GUI 对规则进行必要的更改。
我在谷歌上搜索了集成 java web 应用程序 + Drools + Guvnor,但我没有得到任何结果。
我的问题:
- Drools 是否支持用于编辑规则的轻量级 GUI?
- Drools Guvnor 是一个轻量级的 GUI,还是有办法让它降级?
- 将应用程序集成到 Guvnor 以读取规则有多容易?
关于集成 Java 应用程序 + Drools + Guvnor 的简单实现的任何其他建议都会很棒。
任何指向教程的指针也可以为我做。
jsf - 翻译 Drools 生成的事实
首先:如果我的请求完全错误,请关闭它并指出我正确的方向。
我在 JSF 应用程序中使用 Drools(带有 Guvnor 创建的规则)来验证创建的对象。基本上,工作流程是:
- 用户创建一个对象
- 触发规则以检查此对象
- 检查失败的规则在工作记忆中插入一个新的事实并带有一些消息,解释验证失败的原因
- 事实从工作内存中提取并显示在 JSF 应用程序中
我的问题:翻译这些信息的最佳方式是什么?对于这种情况,是否有任何“最佳实践”?
bpmn - 在 drools-guvnor 中查看规则流文件
我正在从事一个涉及在 Drools 流程中创建工作流程的项目。我有很多规则流 (rf) 文件,我希望它们可以通过 Web UI 进行查看。
我已经看到 drools-guvnor 允许管理 rf 文件。但似乎它不允许用户查看它们(仅下载作品)。
我还听说 bpmn 文件格式适用于 Guvnor,但在我的工作流程中,我需要使用全局对象,我认为它不受支持。
所以我的疑问是,有没有办法在 Guvnor 上显示 rf 文件?并且可以在 bpmn 文件中使用全局变量吗?
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)
请求解决方法...
drools - 规则对象模型:声明式 vs POJO
我已经读过将规则对象模型与业务层对象模型分开是明智的。drools-guvnor 支持两种模型:声明式和 POJO。哪个更适合在大型企业应用程序中使用?
设想的架构由一个应用程序服务器上的 Presentation+Business Layer 和另一个具有包装 Web 服务的 guvnor 组成,其中 Rules WS 为业务逻辑公开 SOAP Web API 以验证规则。
drools - 以编程方式添加 gdst(引导决策表)
虽然有以编程方式添加 DRL 规则的方法,但无法找到是否可以以编程方式添加“引导决策表”。这些规则在 WebDAV 中可见,因为 gdst 文件只是 XML。是否有 API 可以在没有 guvnor UI 的情况下创建这些规则,使用 WebDAV 或 REST 上传到 guvnor 并稍后使用 UI 进行更改?
java - 如何从java类调用guvnor规则
我想从简单的 java 文件中调用 guvnor 规则。但我面临着它的问题。我正在使用 jboss7 进行部署。如果我错过任何事情,请任何人告诉我。
我的 drl 规则
我的豆文件
变更集.xml
TestGuvnor.java 文件
drools - Drools Guvnor 和 Oracle 集成
我想将 Oracle db 配置为 Drools Guvnor。
请让我知道如何做到这一点。任何链接也将有所帮助。
感谢期待 Bala Krishna.N
drools - 检查 Drools 规则文件中的语法错误
我是 Drools Guvnor 的新手,并且已经使用它建立了一个基本的 rool 框架。我只想知道当前的 Drool 文件是否正确。
截至目前,除了端到端运行它之外,我别无他法。有什么可以立即检查编译问题吗?
编辑:
当我们有语法错误时,例如,'string.Contains' 而不是 'string.contains' 验证/验证成功通过,'Build Package' 选项也是如此。如果我遗漏了什么,请告诉我。
除此之外,我对 QA 部分不太了解(事实上,我们还没有在那里进行任何测试)。
谢谢,
java - JVM 连接不足导致 CPU 使用率过高和 OutOfMemoryException
我们有一台 64 位的 linux 机器,我们与其他服务建立多个 HTTP 连接,Drools Guvnor 网站(如果你不知道,规则引擎)就是其中之一。在 drools 中,我们为每个被触发的规则创建知识库,并且知识库的创建与 Guvnor 网站建立 HTTP 连接。
所有其他线程都被阻塞,CPU 利用率上升到 ~100%,导致 OOM。我们可以在 15-20 分钟后进行更改以编译规则。但如果有人已经面临这个问题,我想确定这个问题。
我检查了"cat /proc/sys/kernel/threads-max"
它显示27000个线程,这是一个原因吗?
我有几个问题:
- 我们什么时候知道我们的容量已经超出了?
- 可以在内部产生多少线程(任何粗略估计或与差异参数相关的公式都可以)?
- 有没有其他人看到过 Drools 的类似问题?并发访问 Guvnor 网站基本上是导致问题的原因。
谢谢,