问题标签 [drools-flow]
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 - StatelessKnowledgeSession 和 Drools 流
是否可以从 运行 Drools Flow 流程StatelessKnowledgeSession
?如果是这样,怎么做?它没有startProcess(id, params)
方法,似乎只实现规则功能。我有一个服务,它的方法运行一个进程。到目前为止,我已经使用了一个StatefulKnowledgeSession
,但我读到它不是线程安全的。我想出的一个解决方案是注入一个知识库并为每次调用此方法创建一个新会话,但这似乎是一种资源浪费。
java - 如何在 jboss drools 中定义常量?
全部
我想知道如何在 jboss drools 规则中定义常量变量。
因此,管理员只需更改一处即可修改可配置值。
谢谢。
drools - Drools/JBPM5 是否支持数据流?
Drools/JBPM5 是否支持数据流?
还是只是控制流?
scala - 帮助 Drools 与 Scala 集成
我是 Drools 的新手。我正在将 Drools 与 Scala 集成。我正在尝试http://www.gettingcirrius.com/2010/12/using-jboss-rules-drools-in-scala.html给出的项目。我对提供 Drools 规则文件的代码做了一些小改动,如下所示:
代码运行良好,没有错误,但规则不起作用。我得到的输出是:
似乎配置的规则不起作用。我使用的依赖项是:
我错过了什么吗?请帮助我将 Drools 与 scala 集成。提前致谢。任何帮助将不胜感激。
谢谢,普内特
drools - 从 JBPM 5 中的规则任务访问流程实例
简短版本:如何让 JBPM5 规则节点使用读取和更新流程变量的 DRL 文件?
长版:我有一个流程定义,在 JBPM5 下运行。这个过程的开始看起来像这样:
[开始] ---> [规则节点] ---> [网关(分歧)] ...等
网关对名为“isValid”的变量使用约束。
我的规则节点指向 RuleFlowGroup 'validate',它只包含一个规则:
因此,按照我的逻辑,如果处理正确,那么网关应该始终遵循“错误”路径。
在我的 Java 代码中,我有如下内容:
我可以确认以下内容:
- drl 文件正在加载到工作内存中,因为当我将语法错误放入文件中时,我会收到错误。
- 如果我在 Java 参数映射中包含“isValid”的值,则该过程只会遵循 Java 指定的路径,显然忽略了流口水规则。
- 如果我从 params 映射中取出“isValid”参数,则会出现运行时错误。
由此我假设规则中的最后一个“setVariable”行要么没有执行,要么正在更新错误的东西。
我认为我的问题与官方文档中的这个声明有关:
规则约束不能直接访问流程内定义的变量。但是,可以通过将流程实例添加到工作内存并匹配规则约束中的流程实例来引用规则约束内的当前流程实例。我们添加了特殊的逻辑来确保 WorkflowProcessInstance 类型的变量 processInstance 只匹配当前流程实例,而不匹配工作内存中的其他流程实例。但是请注意,您自己负责将流程实例插入到会话中,并可能更新它,例如,使用 Java 代码或流程中的进入或退出或显式操作。
但是我无法弄清楚如何做这里描述的事情。如何将流程实例添加到工作内存中,以使其可供第一个规则节点访问?规则节点似乎不支持进入行为,并且我无法将其添加到 Java 代码中,因为在工作内存被更新以包含该进程之前,该进程可以很容易地完成规则节点的执行。
drools - 流口水规则从地图中获取价值
阻塞时如何获得口水中的特定值。
我正在寻找这样的东西,但它不起作用:
我已将 Hashmap 插入工作内存并尝试在何时检索它
我得到以下错误
playframework - 只能导入一个类型。models.XYZ 解析为一个包
在过去的 1 天里,我一直在尝试解决这个问题,但我无法解决。
我正在从游戏模型中触发流口水(规则)。它在我的本地环境中运行良好。
但是,当我在 Solaris 机器上的生产环境中部署相同的应用程序时,我收到以下错误
获得 drooolssession 的示例代码。我通过查看一些论坛添加了变量 classLoader,但我仍然没有解决这个问题。
谁能帮我解决这个问题?
java - activiti 是否允许用户定义特定领域的扩展,例如 jBPM?
jBPM 允许用户使用他们在此处的用户指南中指定的特定于域的扩展来扩展默认流程结构。有人知道Activiti是否支持这个?
java - Drools Flow 动态 Ruleflowgroup 参数
我在 drools 中有一个进程,其中设置了一个进程变量。我希望能够根据变量动态更改调用的规则流组。
我尝试将规则流组设置为 #{ruleFlowGroupName} 但规则永远不会激活。
我在规则流组之前有一个脚本任务,它打印出变量的值并且它是正确的。
我之前使用可重新配置的子进程完成了此操作,其中进程 id 是进程变量,并且在主进程运行时进程动态地被替换。
我也希望能够通过指定规则流组来做到这一点。
有任何想法吗?
drools - 如何在流口水中仅使用更新的值
我有一个包含 2 条规则的 drl 文件
第一条规则更新属性,例如根据某些条件将属性 b 更新为 10。
第二条规则检查 b 不等于 10 的值。它记录那些不等于 10 的值的错误。
b 值在规则 1 中更新为 10。但是在第二条规则中,它不使用更新的值并记录错误。
有没有办法在第二条规则中使用更新的 b 值。我尝试使用修改,但仍然记录错误。