问题标签 [kie-wb]
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.
deployment - KIE Workbench - 如何上传大型规则文件.xls
我们正在向 Kie Workbench 上传 45000 条规则。这些规则在单个 Excel 表中声明。我们计划将 5 个文件上传到单个 KIe_project 总共多达 200,000 条规则。
问题陈述
目前对于 20,000 条规则,验证和构建需要大量时间 我们必须提高 VM 选项以使其遵循,否则我们会获得非常高的响应时间并且有时 java.io.buffersize 超出异常 Xms=512m Xmx=7168 MaxPermGen =4096 如果规则文件包含验证错误,则仅验证将需要 15 分钟
将 xls 文件转换为 GDST 格式,然后构建和部署项目需要 1 个多小时。并且我们在 1 小时后才知道存在验证错误或构建失败或部署成功,这并不令人满意
在上传/验证/部署此类大文件期间,其他连接的用户无法在 Kie-Workbench 上执行任何操作
将 xls 文件成功转换为 gdst 格式后,Guided Decision 表编辑器甚至无法加载 10k 条记录。
在每次验证或上传期间,我们都会收到无法将工件部署到http://repo1.maven.org/maven2的错误。我们只是上传到 Kie-WB,为什么要到上面提到的 repo 进行部署。其次,我们在需要部署资产的组织中部署了自己的 nexus 存储库,而不是在http://repo1.maven.org/maven2中。对于 infor,我们在 kie-project 的 pom 中使用 maven 来部署到我们的存储库。
drools - Drools 6.2.0 工作台从 drl 规则编辑 jbpm 变量
我尝试将我的流程变量放入业务规则任务并在此任务中更改此变量,但值保持不变。我究竟做错了什么?流程在kie workbench中开发,不使用eclipse。
我的变量在规则触发之前在脚本任务中初始化,例如
规则看起来像
我正在等待触发变量被更改,但它仍然像
数据分配没问题,并且 tomcat 日志包含调试消息,例如“Phys !!!!”。我究竟做错了什么?
谢谢您的帮助!
drools - 设置 Kie WB 6.3.0.CR2 和 Execution Server 6.3.0.CR2 找不到连接位置?
我刚刚在 WildFly 9.0.1 服务器上安装了以下 2 场战争:
http://download.jboss.org/drools/release/6.3.0.CR2/kie-drools-wb-distribution-6.3.0.CR2.zip http://download.jboss.org/drools/release/6.3 .0.CR2/kie-server-distribution-6.3.0.CR2.zip
我设置了 WB 和执行服务器用户配置文件,一切看起来都很好,并测试了执行服务器并得到了以下响应:
当我转到 Deploy -> Rule Deployments 并从右上角选择“Register”选项时,我除了能够像在 6.2.0 中那样输入端点信息等之外。但是我看到了这个
这仅要求提供标识符和名称,但是当我将端点放在标识符字段中时,它似乎不起作用。
难道我做错了什么?
我还注意到其他用户有高级菜单项,如“服务器”、“仪表板”等,但我看不到任何这些。我该如何设置它们?
谢谢
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):
创建了一个名为 testRepo 的新存储库
创建了一个名为 HelloWorld 的新项目
使用名为 message 的字符串属性创建了一个名为 HelloWorld 的新数据对象:
/li>创建了一个包含以下内容的新 DRL:
/li>当我在这个 URL 下将它部署到我的 Kie 服务器时:
http://localhost:8080/kie-server-6.2.0.Final-webc/services/rest/server/containers/helloworld
当我将上述 URL 复制并粘贴到 Google Chrome 中时,我收到以下响应:
当我尝试使用以下有效负载(使用 Postman 或 SoapUI)进行 POST 时:
收到以下内容:
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下的以下目录:
元信息
网络信息
感谢您抽时间阅读...
drools - 如何在 Drools 引导规则中使用条件逻辑(或 NOT !运算符)?
全部,
我正在使用 Drools Workbench 6.2.0.Final 以声明方式创建引导规则...
我的情况是这样的:
有一个具有以下属性的贷款数据对象:
- 状态 - 字符串
- 金额 - 双倍
- 利率 - 双倍
- 消息 - 字符串
- 要求 - 布尔值
自动生成的 drl 文件为:
问题):
(1) 当此规则失败时,如何以声明方式使用引导规则编辑器设置以下内容:
或者
(2)有没有办法以声明方式自定义SOAP Response:
例如
或者
或者
不想以编程方式执行此操作...
谢谢大家...
mysql - MySQL jBPM 6.2 部署错误
在解决了几个问题后,将 H2 与 MySQL 切换为 jBPM 6.2;按照说明修改 3.6.3。使用您自己的数据库。我被部署时抛出的这个错误所困扰。有没有人解决这个问题,我找不到任何解决方法。我的环境:Wildfly 8.1 Jbpm 6.2 Final MySQL 5.7.9
这是来自 .FAILED 文件的堆栈跟踪。
eclipse - 如何将 Kie Workbench 与 eclipse 连接起来,以便我可以在 eclipse 中使用在 kie Workbench 中创建的项目
我想打个休息电话,但没有任何选项可以在 kie 工作台上打个休息电话。那么有没有可能我可以在 kie 工作台中创建一个项目,然后将这个项目与 eclipse 连接起来进行编码。
drools - 无法从 DRL 更新 jbpm 流程变量
我目前开始使用 jbpm/drools 并尝试使用“业务规则任务”从我的 DRL 修改一些流程变量。我用一个进程尝试了以下操作,该进程声明了一个类型为“MyCustomObject”的变量“var”。
根据这个问题的结果和这个建议,我创建了一个任务,它应该执行规则流组“testgroup”并具有以下 onEntry 脚本:
我的 DRL 现在看起来像这样:
在业务规则任务之后,我放置了一个简单的脚本任务:
我现在得到的输出是(注意:MyCustomObject 不会覆盖 toString):
内存中对象的值:MyCustomObject@XYZ
变量中对象的值:MyCustomObject@XYZ
var 为空!
在这一点上,我不知道出了什么问题。正如输出所暗示的那样,工作内存中的 ProcessInstance 已正确设置其变量,但该值不存在于进程本身中(因此其他节点可以访问)。
附加信息:
我目前在 JBoss EAP 6.4 上使用工作台版本 6.4.0.Final,并将容器部署到在单独的 EAP 6.4 实例上运行的 KieExecutionServer (6.4.0.Final)。
任何建议表示赞赏。
java - 如何在 JBPM 6.4.0 中与可重用子流程交换变量?
我想改进我的 jbpm 进程的结构,因此试图将一些东西封装在一个可重用的子进程中。按照文档中的说明,我首先创建了一个简单的测试过程来验证其行为。
为此,我定义了以下内容:
具有 2 个字符串类型变量“sub_in”和“sub_out”的(父)进程。第二个(子)进程,带有 2 个字符串类型的变量“in_sub”和“out_sub”。
父进程包含一个脚本任务,它将“sub_in”设置为“输入”,一个子进程任务(调用子进程),以及第二个脚本任务,它输出“sub_out”的值。
子进程包含一个脚本任务,它输出“in_sub”的值并将“out_sub”设置为“output”。此外,我定义了(名称:“in_sub”,数据类型:“String”,源“sub_in”)和(名称“out_sub”,数据类型:“String”,目标:“sub_out”)的 I/O 映射。
令人惊讶的是,两个脚本都输出null作为相应变量的值。此功能在 6.4.0 版中是否损坏?我错过了什么吗?我在 Google groups 上看到了类似的问题,但没有任何反应。
仅供参考:我正在使用 Kie-Workbench 和 KIE 执行服务器(两个 JBoss EAP 6.4 实例上的版本均为 6.4.0.Final)来设计和运行流程。
任何建议表示赞赏。
drools - 如何在 jbpm 中正确建模具有超时的并行执行?
我需要一些关于 jbpm 和使用 kie-workbench 建模的帮助。我的场景:
向用户呈现潜在服务提供者的列表。他现在可以选择其中的多个并指定一个日期,作为提供者响应该请求的截止日期(待处理的请求应解释为“提供者拒绝请求”时超时命中)。在所有回复都可用后(通过响应或超时),该过程应继续,并将回复呈现给用户。
我必须使用 jbpm 对这种行为进行建模,并且想知道这样做的最佳方法。
遗憾的是,这是不可能的,因为这些是按顺序执行的,因此服务提供商可能无法响应,因为另一个服务提供商已经超时。此外,由于要执行的实例数量是在运行时确定的,简单的并行网关也不会完成这项工作。
有关如何使用 jbpm 正确建模此场景的任何建议?
编辑:
我不知道,如果以下内容被认为是“肮脏的”,但这是我目前的想法(尚未完全实现):
添加一个流程变量“subProcId”,子流程节点将其引用为“被调用元素”。在这个节点之前,我调用了一个自定义服务任务,它将执行以下操作:
- 使用RuleFlowProcessFactory根据当前运行时数据创建流程定义
- 构建流程并使用其 REST-API 将其上传到执行服务器
- 设置“subProcId”以包含已创建进程的 id
使用这种方法,我可以定义一个包含并行网关的子进程,其中包含所需的确切传出连接数量。
如果这是一个好主意并且可以实际工作,有什么想法吗?