问题标签 [drools]

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 投票
3 回答
3567 浏览

java - 什么可以在序列化和存储在 Jarfile 中时修改 SerialVersionUID?

我在序列化对象时遇到了一些问题(我正在使用 JBoss Drools,并且想要存储 KnowledgePackage 的 ArrayList)。

当我序列化列表,将结果存储在文件中并反序列化它时,没有出现问题,所以它工作正常。

但是当我序列化列表,将结果存储在字节流中,然后将其保存在 JarFile 中时,由于此错误,我无法反序列化结果:

所以我认为问题是当我将序列化对象保存到 Jarfile 条目中时。我认为我这样做是正确的,因为可以正确读取 Jarfile 中以相同方式保存的其他文件。在使用 'cmp' 和 'hexdump' 之后,我发现如果 uuid 将其保存在 jar 中会导致一个八位字节的变化,否则内容是相同的。

我真的很失望,无法说明问题可能出在哪里。

什么可以修改两个类之间的 SerialVersionUID?除了另一个 vm 版本?


添加源代码:exportToJar -> writeRulesPackageEntry -> writeEntry

0 投票
1 回答
3079 浏览

hibernate - Drools Flow Persistence with MySQL (jpa, hibernate)

使用 MySQL 实现 Drools Flow Persistence 所需的步骤。

我在第 5.1.3 章关注 Drools Flows 文档:配置持久性。(https://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/docs/drools-flow/html_single/ index.html#d0e1157 )

Erroo-1:由以下原因引起:bitronix.tm.utils.PropertyException:“com.mysql.jdbc.Driver”类中没有可写属性“URL”

错误 2:原因:java.lang.ClassCastException:com.mysql.jdbc.Driver 无法转换为 javax.sql.XADataSource

提前致谢........

0 投票
3 回答
2244 浏览

java - Drools 更新方法可能会导致我的问题吗

我目前正在使用 Drools 5.0 编写应用程序。这个应用程序似乎运行有点慢,但我有一个理论原因。此应用程序接收许多已存储在知识会话中的事实更新。引擎盖下的 Drools 更新功能确实先回缩然后再插入。此应用程序有超过 200 条规则。当某些事实被删除时,一些规则被写入触发。当某些事实被断言到知识会话中时,其他规则被写入触发。由于更新确实会撤回,那么插入是否会在更新期间触发撤回和插入相关规则?即使没有真正“插入”或从知识会话中撤回?

需要注意的一件事是,我将 WorkingMemoryFileLogger 与我的知识会话“挂钩”,以便更好地了解正在发生的事情。那时我看到许多意想不到的撤回/插入规则激活创建被添加到议程中,但似乎它们从未被激活。在我看来,更新事实可能很昂贵,尤其是根据您的事实模型,我应该谨慎使用。它是否正确?

0 投票
2 回答
5451 浏览

unit-testing - 你如何对 Jboss 规则(Drools)规则进行单元测试?

我已经为我的 Seam 应用程序编写了一些 Drools 规则,并且想知道如何对这些进行单元测试。有人有任何示例代码可以告诉我如何去做吗?

0 投票
1 回答
3673 浏览

java - Drools:如何在检查事实是否已存在于工作记忆中后插入事实

我正在使用流口水来验证对象。该对象还有一个 getChildrenList() 方法,该方法返回与该对象相关的子对象(主从关系)。

我对对象进行了一些验证,然后我也想验证子对象,因此我使用以下规则将所有子对象也插入到工作内存中:

现在,如果已经插入了孩子,我如何确保不会触发此规则。我的意思是因为我修改了一些事实,规则被重新触发。我怎样才能防止这种情况?

谢谢

0 投票
1 回答
518 浏览

java - 流口水专家/求解器 - 5.0.1 匹配

我对流口水还很陌生,我遇到了一些我无法真正理解的问题。我正在尝试解决分配问题,而我的 LHS 之一是这样的

出于某种原因,即使您确定工作记忆中存在匹配项,第二个语句也不匹配任何内容。如果我用以下代码更改上面的代码,它可以正常工作

有人可以向我解释一下吗?

谢谢!

0 投票
2 回答
2751 浏览

java - 使用 Drools Expert 在基于 Web 的 J2ee 项目中评估 Drools Flow

我正在使用 drools 专家规则评估 drools 流作为 wrokflow 引擎。关键评价点:

  • 通过自己的自定义 Web UI 生成自定义规则和工作流
  • 管理员用户可以在 UI 中查看工作流中的所有项目(查看作业队列:当前队列、已执行作业、异常)
  • 规则操作可以是 Web 服务、Java 类,也可以是存储过程
  • 在运行时删除/取消流程定义
  • 与日历/计划集成
  • Web Service 可以是规则输入
  • Web 服务可以是进程中的参与者
  • 运行时编译能力也就是说,没有应用程序在规则更改时重新启动
  • 将流程公开为服务

    请任何人都可以就上述领域提供您的意见以帮助我们进行此评估过程吗?

0 投票
3 回答
2166 浏览

java - 在 Eclipse 中构建 Drools 4 项目的问题

我在编译 drools 4 项目时遇到问题。我在规则文件中收到错误说

因此,增量编译器无法正常工作。如何修复错误或让 eclipse 忽略它们?

0 投票
1 回答
988 浏览

subprocess - Drools SubProcess 映射失败 - 我做错了什么?

我创建了两个“Hello World”进程来给 subProcess 节点一个旋转。我无法将 subProcess 的输出返回到主进程。我希望有人能告诉我我做错了什么,因为我找不到任何说明我为什么不起作用的文档或示例。

在我的主要过程中,我有以下内容(请注意,我已经剪掉了页眉、页脚和位置 x、y、高度、宽度属性):

这是一个简单的subhelloSubProcess,它只是简单地获取输入并将其打印出来,然后获取输入长度以将其返回:

这是按照我解释文档和示例的方式。在主流程和子流程上都声明了所需的变量,然后只需使用 subProcess in/out 映射元素来设置 from 和 to 属性。

问题是....虽然name没有问题地传递给子进程,但试图length回到主进程失败了。subProcesslength中的 已成功修改。但在退出时,length主进程并没有改变。

我究竟做错了什么?非常感谢指针和解释。谢谢。

0 投票
1 回答
949 浏览

drools - Drools SubFlow/SubProcess 是否被大量使用?流口水文档缺乏

我正在尝试使用规则流和规则对工作流程进行原型设计。我开始测试 subProcess 是因为能够调用或重用子例程显然很有用。经过大量的摆弄,我无法按预期进行映射工作(由于缺乏详细的文档,我可以管理)。

所以我开始寻找更多的例子。令人费解的是,我只设法找到了一个使用 subProcess 的示例(在 jbossrules 结帐中)——而且那个示例甚至根本不需要做任何进出映射。其他所有与映射相关的示例都是通过 WorkItems 完成的。

子流程比工作项有用吗?并不是说我完全理解他们的区别......

考虑到缺乏在线资源,我想我最好买一本书(如果有人能推荐一个好网站或一本好书,我将不胜感激)。谢谢。