问题标签 [kie]

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 投票
1 回答
454 浏览

drools - 在 BRMS .bpmn 中指定“规则流”

我目前无法设置包含引用规则流的任务的 .bpmn 文件。你能帮帮我吗?

这就是我所做的。

  • 我已经安装了 RHDS。
  • 我创建了一个新的 .bpmn 文件

但是,我不知道在哪里可以设置任务的规则流。

通常,一张图片值一千字。

我的桌面运行 Red Hat Developer Studio 8

  • 正如您在左上角看到的那样,我确实在使用 RH JBoss DS
  • 我创建了一个规则文件和一个 bpmn 文件,你可以在右侧的包资源管理器中看到它们。
  • 我将“业务规则任务”从右侧面板拖到中间的流程编辑器中。
  • 底部面板显示“业务规则任务”的属性

问题是我找不到任何方法来为那个“业务规则任务”指定一个“规则流”。关于在哪里设置它的任何建议?

0 投票
1 回答
603 浏览

jboss - FUSE骆驼+KIE执行服务器集成POC

最近,我开始为一个新项目查看 Fuse Camel、Drools WB 和 Kie 执行服务器集成,但遇到以下问题。

我正在为 WB 和 Kie Server 使用 Fuse 6.2、Drool 6.2.Final。

这就是我所做的:

  1. 从 Drools-WB 中的 Fuse 示例创建 Person Drink drool 规则,并使用我自己的容器部署在 Kie 执行服务器上:myCheese。

  2. 在 Fuse Camel 中,我没有调用内部 Kie-Camel 服务器,而是使用一个 bean,在其中设置 Comel-jetty 的标头来触发规则:

    公共无效填充RestHeader(交换交换){

    String myMessage = "<batch-execution lookup="ksession1"> " + "<insert out-identifier="person" > <org.drools.camel.example.Person> john " + "51 </org.drools.camel .example.Person> " + " ";

    }

  3. 使用 jetty 将命令发布到远程 Kie-Server:

    码头:http://my-server/services/rest/server/containers/myCheese

  4. 在 Kie-Server 日志中,我得到:

15:19:33,140 WARN [org.jboss.resteasy.core.ExceptionHandler](默认任务 114)未能执行:javax.ws.rs.NotSupportedException:无法使用 org.jboss.resteasy.core.registry 的内容类型。 SegmentNode.match(SegmentNode.java:380) [resteasy-jaxrs-3.0.10.Final.jar:] at org.jboss.resteasy.core.registry.SegmentNode.match(SegmentNode.java:114) [resteasy-jaxrs- 3.0.10.Final.jar:]

“内容类型”设置不正确或正文未发送?

  1. 我尝试使用相同的方法执行 GET,效果很好!

已收到 :

  1. 使用 SoapUI 执行命令没有任何问题。

问题 :

a)有什么想法为什么会出错?将 Exchange.Body 设置为 POST 的 DATA 是否正确?b)不是使用 Came-Jetty 将命令发布到 Kie-Server,因为 Kie-Server 将其声明为 REST,我可以使用 CXFRS 来执行此操作吗?另外,我相信 Kie-Server 也支持 SOAP,但它的 WSDL 是什么?另一种选择?

c)对于 BatchExecutionCommands,我打算使用以下内容:

但是我在保险丝日志中得到了异常:

似乎 Kie-Internal Package 无法访问 Drools-Core 捆绑包?

0 投票
1 回答
100 浏览

java - 虽然 JBPM spring 集成获取 org.jbpm.task.Attachment" 无法解决错误

我是 jbpm 的新手。我正在尝试在我的 Eclipse 工作区上运行这个github应用程序。

我将 jbpm 版本从5.4.0-Snapshotto升级到5.4.0.Final并收到如下错误:

TaskServiceSetup.java文件中,transactionManager 无法解析为变量。

并且SyncWSHumanTaskHandler已被弃用,这个类的替代品是什么?

0 投票
1 回答
913 浏览

maven - Apache CXF 和 Kie 远程​​客户端之间的依赖冲突

我目前正在编写一个 Apache Camel 项目,该项目使用 CXF 公开一些 REST 端点和 Kie Remote Client 以与 BPMS 交互。但是,当我尝试将 Kie Remote Client 依赖项包含到我的 pom 文件中时,我遇到了依赖项冲突(不知道如何描述它)。

这是我目前的pom文件:

当我尝试部署我的项目时,我遇到了一些属性异常:

有谁知道这个错误的根本原因是什么?谢谢!

编辑:我确实找到了解决此问题的临时解决方法。如果我将我的骆驼版本降级到 2.13.2,我的 spring 版本降级到 3.2.8-RELEASE,那么 apache-cxf 版本似乎就可以了。但是,我想保留 2.15.2 骆驼中的许多新功能。有人知道 kie.remote.client 有什么好的替代品吗?

0 投票
0 回答
739 浏览

drools-guvnor - 从 drools kie 工作台加载工件进行测试

在测试使用工作台创建的示例规则时,我遇到了以下问题。

附模型、规则和eclipse测试场景。

在此处输入图像描述


在此处输入图像描述

问题:getCity 总是返回 null

在工作台中创建的等效模型代码。

该规则检查客户 ID 是否小于 100。如果客户 ID 小于 100,则城市设置为伦敦。

eclipse中用于测试的代码

控制台输出:

非常感谢任何帮助。

0 投票
2 回答
332 浏览

eclipse - FactType.getFields 不返回任何字段流口水 KIE

我创建了一个带有两个事实字段(年龄和奖金)的事实类型( CustomerFact )。还使用工作台创建示例规则。现在,我想注入一些测试值并检查规则是否被触发。我使用了 Eclipse IDE。

我能够在我的 java 代码中检索包名称和在工作台中创建的规则。但是,我可以获取任何事实字段。GetFields 总是返回一个空列表,而它应该返回 2 个字段。有没有其他选择?我只想设置事实类型的字段并查看规则是否被触发。非常感谢任何帮助。

测试代码

eclipse中的控制台o/p

正如您在输出事实字段中看到的那样,它是空的。

0 投票
1 回答
674 浏览

drools - 如何将某些 DRL 文件应用于某些事实

假设我在一家大型制造公司工作。我正在监控公司销售数据的质量。各个区域经理对其所在区域的销售都有自己的要求。8 个区域经理中的每一个都向我提供了一个 DRL 文件,该文件仅适用于他自己区域的销售,他们会经常对 DRL 进行调整。

让我们假设我正在使用一个销售对象,每个对象都包含一个区域属性。我不能对来自错误地区的销售应用规则。如果我不小心将太平洋西北地区的规则应用于俄亥俄河谷的销售,那么我将被解雇!

我可以想到三种方法来做到这一点:

  1. 信任(并验证)每个区域经理在每次提交新规则时在其规则的 LHS 中包含一个 region = "..." 术语。将所有 DRL 文件加载到 Kie 会话中并运行所有 Sales。
  2. 将我的 List<Sale> 划分为 8 个特定于区域的列表,并针对相应的 DRL 文件运行每个列表。
  3. 将销售抽象化并实现 PacificNorthwestSale、OhioRiverValleySale 等,其理论是给定区域的 DRL 文件可能不会尝试引用来自另一个区域的特定于区域的销售。

有没有更好的办法?有什么方法可以向 DRL 中的所有规则添加另一个 LHS 条件(区域 =“...”)?或者我可以通过其他方式强制执行此策略而无需执行以下操作:

  • 多个规则执行
  • 还是手动验证所有规则都指定了适当的区域?
0 投票
3 回答
6170 浏览

drools - HelloWorld 使用 Drools Workbench 和 KIE 服务器

将 KIE Drools Workbench 6.2.0 Final 安装在 JBoss 7 应用服务器本地实例中,并将 Kie Server 6.2.0 Final 安装在本地 Tomcat 7 实例中。

将基于 Web 的 KIE Workbench 严格用于评估目的(我使用它来生成基于 Java 的 Maven 项目的代码,而不是使用特定的 IDE,例如 Eclipse 或 IntelliJ IDEA):

  1. 创建了一个名为 testRepo 的新存储库

  2. 创建了一个名为 HelloWorld 的新项目

  3. 使用名为 message 的字符串属性创建了一个名为 HelloWorld 的新数据对象:

    /li>
  4. 创建了一个包含以下内容的新 DRL:

    /li>
  5. 当我在这个 URL 下将它部署到我的 Kie 服务器时:

http://localhost:8080/kie-server-6.2.0.Final-webc/services/rest/server/containers/helloworld

当我将上述 URL 复制并粘贴到 Google Chrome 中时,我收到以下响应:

  1. 当我尝试使用以下有效负载(使用 Postman 或 SoapUI)进行 POST 时:

  2. 收到以下内容:

    HTTP 状态 415 - 无法使用内容类型类型状态报告消息无法使用内容类型

    描述 服务器拒绝此请求,因为请求实体的格式不受所请求方法的请求资源支持。

我可能做错了什么?我去了 Deploy -> Rule Deployments 并注册了我的 kie-server 并创建了一个名为 helloworld 的容器,正如从第 5 步中可以看到的那样,它起作用了。也许我没有正确部署它?

顺便说一句,我使用以下 Stack Overflow帖子作为基础(在提出这个问题之前)......

Google 的大部分搜索结果只是解释了如何通过设置基于 Maven 的项目以编程方式创建 Drools 项目。我正在评估 KIE Drools Workbench,看看非技术人员如何轻松地使用 KIE Drools Workbench 生成基于 Drools 的规则并执行它们。

我错过了一步吗?在Tomcat 7下,它只包含apache-tomcat-7.0.64/webapps/kie-server-6.2.0.Final-webc下的以下目录:

元信息

网络信息

感谢您抽时间阅读...

0 投票
1 回答
922 浏览

tomcat - Kie 服务器:找不到相关资源

我正在尝试测试我配置kie server的 .

我能够成功调用

它按预期返回

但是,当我尝试将请求发送到另一个 url

我收到

在我的里面我kie-server.war有这个web.xml

有什么问题?

0 投票
1 回答
1701 浏览

drools - 如何在 Drools 引导规则中使用条件逻辑(或 NOT !运算符)?

全部,

我正在使用 Drools Workbench 6.2.0.Final 以声明方式创建引导规则...

我的情况是这样的:

有一个具有以下属性的贷款数据对象:

  • 状态 - 字符串
  • 金额 - 双倍
  • 利率 - 双倍
  • 消息 - 字符串
  • 要求 - 布尔值

自动生成的 drl 文件为:

问题):

(1) 当此规则失败时,如何以声明方式使用引导规则编辑器设置以下内容:

或者

(2)有没有办法以声明方式自定义SOAP Response:

例如

或者

或者

不想以编程方式执行此操作...

谢谢大家...