问题标签 [kie-workbench]
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.
drools - Cloudfoundry 中的流口水工作台。
我正在尝试在 cloudfoundry 中部署 drools 工作台。我无法将 docker 镜像推送到我公司的 CF 环境,但这些 docker 镜像在我的本地 PCF Dev 中工作。所以,我将一个战争文件推送到我的 CF 环境中。
应用程序在 CF 中运行。但我不确定如何启动应用程序,查看登录页面和工作台。请帮忙。
drools - optaplanner / drools 工作台 6.4.0 Final ScoreDirectorFacotry
我正在尝试使用 Drools Workbench 版本 6.4.0 Final 在 KIE 服务器中重新创建 CloudBalancing 示例。我可以通过 REST API 在 KIE 中创建容器和求解器,但是当我尝试开始求解时出现以下错误:
是因为我缺少 SolverConfig.xml 中的“scoreDrl”吗?如何通过工作台 UI 配置 SolverConfig.xml?看来我无法通过界面编辑 SolverConfig.xml。
jbpm - 如何在 jbpm-WorkBench 的 BPMN 流程中设置要在 WorkItem 中访问的参数
我创建了一个带有一些参数的自定义 WorkItem,我已经在 WorkDefinitions.wid 文件中注册了这些参数。然后在业务流程中,我还为整个流程创建变量定义,并将自定义 WorkItem 的 WD.wid 中的变量定义引用到在 BP 中创建的变量定义。
WorkItem 执行代码,该代码在启动流程后从表单中获取这些参数。为此,我使用 getParameter()- 方法;它看起来如下:
一切看起来和工作正常,因为 WorkItem 将成功执行并且我得到结果(在 BP 中执行 workItem 后在服务器端);但是现在我需要在使用输入的参数执行 POST 方法后获取响应。在代码中,我创建了一个新变量,该变量从响应正文获取参数,当我执行纯代码(没有 BPMN - 进程)时,我可以在 IDE 的控制台中看到结果,但我还需要在 WorkItem 中注册此变量以使用它进一步用于我的 BProcess 中的下一个任务。
所以我的问题是:是否有类似于 getParameter() 的方法,但类似于 setParameter()?我如何在 WorkItem 中注册它,以及如何在 jbpm 的 BProcess 中获取/到达那些参数/变量(我相信这是全局变量)。
非常感谢!
drools - Kie Workbench 执行规则
可能这个问题已经被问过很多次了,但我无法通过它们找出实际的解决方案。我在 KIEWorkbench 中有一个决策表,它从一个事实中获取输入并将其设置为另一个事实。我试图通过调用端点来调用规则:http://localhost:8085/kie-server-6.4.0.Final-ee7/services/rest/server/containers/instances/pocResult
在标题中,我将 Content-Type 设置为 application/xml。
我的决策表如下:
如何获取 Result 对象作为响应?这是我的回应:
我想要设置日期的结果对象。
java - 如何从 WorkItem 中的 jbpm-process 获取全局变量
我可以在 Script-Task 和 kcontext-instance 的帮助下成功地从进程中检索全局变量(如 NodeInstance、ProcessInstance 等);但是,如果我需要在 WorkItem 中检索这些全局变量怎么办?我当然可以将 Script-Task 放在 Process 中的 WorkItem 之前,然后将全局变量分配给变量定义之一,以便通过 getParameter()-method 在 WorkItem 中使用它;
但我们确实明白,这是双重工作,不是吗?那么如何在没有额外脚本任务的情况下在 WorkItem 中获取全局变量呢?我首先想到的是,我可以在 WorkItem 中使用相同的会话名称,例如我们通过在 KieWorkBench 中注册 WorkItem 来定义,这就是我在 WI 中创建 ProcessContext 的原因,如下所示:
使用 executeWorkItem() 中的此代码片段,而不是 Script-Task 中的 kcontext,我可以成功检索车道的名称并将其分配给变量,但是当我使用此 WorkItem 执行流程时,我得到一个错误 - WorkItem -- null不是通过部署,而是通过启动流程;当然,我还注册了与 KieWorkBench 中的 WorkItem(即“ksession-process”)中相同的 ksession - 名称,但显然我不能像我想的那样以这种方式使用上下文。
所以我真的很感谢你的帮助!它并没有真正打扰,而是制作一个代码。BProcess 稍微简洁一点,没有任何多余的变量,问一下是值得的。
jBPM 6.4,野飞 8.2
更新: 正如用户 livthomas 所建议的,我尝试将我的类扩展为 AbstractWorkiItemHandler 而不是 WorkItemHandler 接口,如下所示:
然后在项目的descriptor.xml中注册为new my_package.WI(ksession); 不幸的是,我得到了 RuntimeException: cannot instance WorkItem...
UPDATE2:堆栈跟踪
java - Kie Workbench 从会话中删除现有事实
我是 Kie Workbench 的新手。我正在使用 Java Rest 调用来触发 kie 工作台中的规则。请在下面找到代码:
我正在正确触发规则,并且在触发规则后,AdapterRuleDO 类中的值会正确更新。一个问题是,当我再次调用此方法以第二次执行规则时,我收到两个 AdapterRuleDO 对象,并且对于每个后续调用,我都会获得一个额外的对象。似乎会话中的对象已存储,并且每次调用都不会被清除。我怎样才能为每次调用实现这一点,我只会得到一个 AdapterRuleDO 对象作为回报?
请注意,我只有一个这样的决策表,其中使用了这一事实。
drools - KIE Workbench - 上传 Java 类以用于指导规则
我对流口水有点陌生。我正在使用在 tomcat 8 上运行的 KIE 工作台。我想将包含我在 Netbeans 中编写的 Java 类的 .jar 文件上传到 Drools/KIE 工作台,然后在工作台的引导规则部分使用它。我已经弄清楚如何将包含该类的 .jar 上传到我的项目并将其作为依赖项包含在内,我已将其添加到项目包白名单中。我可以在一个新的 DRL 文件(新项目 > DRL 文件)中使用这个上传的对象,在该文件中我手动编写规则,但我无法在 wb 的某些部分中看到或使用这个数据模型/对象,如引导规则创建者(新项目>引导规则)或测试(新项目>测试场景)。
任何人都知道这是否可行或知道该怎么做?
谢谢你。
drools - drools 工作台引导规则在一个文件中包含多个规则
我正在研究一个包含许多规则的 Drools 项目。我们使用 Drools 规则进行验证。有许多字段和各种错误组合。在 Drools 工作台 6.4.0 中,我们使用 Guided Rules (with DSL) 向导来提供业务友好的 UI 来创建规则。问题是每个新的引导规则操作将只允许您创建一个规则,并将其保存为一个规则文件,即 .rdslr 文件。
如果我手动创建 drools 规则,我可以简单地将它们组合在一起,例如 10 或 20 条规则,放入一个规则文件中。使用 Web 引导规则 UI,有没有办法可以将新规则添加到现有的引导规则文件?否则,我将不得不为每个规则创建一个规则文件,最终会产生大量规则文件,很难在 Web UI 中导航。
如果我必须将每条规则保存在自己的规则文件中,规则文件的数量是否有限制?是否存在性能问题?
drools - drools kie 服务器上的运行时策略总是显示单例
我正在使用 kie 工作台将我的 kjar 部署到 kie 服务器容器上。kie 部署描述符的“runtime-strategy”设置为“PER_REQUEST”。但是,当最终创建 kie 服务器容器时,它始终将“runtime-strategy”显示为“SINGLETON”。该行为也反映了“SINGLETON”。
请让我知道对此的解决方案。