问题标签 [kie-server]

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 回答
1020 浏览

drools - 流口水 | 重新加载规则而不重新启动服务器

我正在使用 Gradle 和 7.20 drools 版本创建一个 spring boot 应用程序。我们正在从位于路径的外部资源文件中加载 drools 知识库。drl_file_path下面是我的配置代码。

有机会我们必须更新drools规则,我们想在不重新启动服务器的情况下更新drools知识库,我们正在使用KieScanner.sacnNow()哪个不起作用,我缺少什么关键点。下面是重新加载和应用drools规则的代码-

0 投票
1 回答
90 浏览

optaplanner - 部署 KIE 执行服务器时出现异常

我想在以下环境中删除执行服务器:

Wildfly17.0.0.Final JVM 内存,min:64m,max:1024m 执行服务器WAR包:kie-server-7.22.0.Final-ee7.war

Wildfly 的 HAL 管理控制台的部署页面中显示一条消息:

有人可以帮忙吗?提前致谢!

0 投票
1 回答
405 浏览

drools - KIE-Server 容器卡在 CREATING 状态

我正在运行 kie-server-showcase docker 映像并尝试在其上运行一个非常简单的规则。

我这样启动容器:

我需要使用绑定挂载,因为我只是使用本地 .m2 maven 存储库(目前),这是我能看到的让容器获取它的副本的唯一方法。

我在 Eclipse 中通过“maven clean”构建了一个 kjar,然后是“maven install”。在 kjar (.jar) 里面我有:

  • META-INF 包含 kmodule.xml 和 MANIFEST.MF,也是一个 maven 子文件夹,其子文件夹中有 group-id 后跟 artifact-id,即 META-INF > maven > group > artifact。工件文件夹包含 pom 和 pom.properties(然后定义 GAV)。
  • 我的 drl 和 bpmn

要在 kie-server 上创建容器,我使用 curl 命令:

然后它开始运行命令,但花费的时间继续滴答作响,并且在我离开它 30 分钟后仍在继续。

我检查了 kie-server 容器,我添加的容器在那里,但状态是 CREATING:

我对 docker 或使用 kie-server 不是很有经验,过去没有使用过 kjars,但有一个自定义规则引擎,它分别加载了 drl 和 bpmn。

我相信这可能是由于我的 kjar 在某种程度上不正确。docker 容器似乎在本地 maven repo mount 中看到了 kjar(因为我之前遇到了找不到它的错误)。

kjar中的drl很简单:

并且 bpmn 应该不是问题(它与我们之前使用的自定义规则引擎相同):

我正在用 drools 7.23.0.Final 构建 kjar。我之前也尝试过 7.22。

任何建议表示赞赏,谢谢。

0 投票
1 回答
1424 浏览

drools - KIE 服务器 - 无法从远程 Maven 存储库中找到工件

我正在使用 kie-server docker 映像并发送 curl 命令来执行必要的操作。

在我的 settings.xml 中,我定义了一个远程仓库:

当我尝试在 nexus 存储库中创建一个容器并定义一个工件时,我得到以下输出:

09:29:35,236 WARN [org.appformer.maven.integration.embedder.MavenSettings](默认任务 1)环境变量 M2_HOME 未设置

09:29:36,033 INFO [org.appformer.maven.integration.Aether](默认任务 1)本地存储库目录 /opt/jboss/.m2/repository 不存在。创建它。

09:30:06,421 WARN [org.appformer.maven.integration.MavenRepository](默认任务 1)无法解析工件:myGroup:myArtifact:0.0.1

09:30:36,542 错误 [org.kie.server.services.impl.KieServerImpl](默认任务 1)为模块“myGroup:myArtifact:0.0.1”创建容器“myContainer”时出错:java.lang.RuntimeException:不能找到 KieModule: myGroup:myArtifact:0.0.1

看起来它忽略了我的远程存储库设置并尝试使用本地存储库(并首先创建它,因为它不存在)。

如果我设置一个本地 maven repo 并将所需的工件放在那里,容器创建得很好,我可以运行规则,所以规则/jar/容器数据都可以。

一旦它运行,我已经检查了 kie-server docker 容器,并且正确的 settings.xml 文件位于 /opt/jboss/.m2 文件夹中,我认为这是正确的。

提前致谢。

0 投票
1 回答
927 浏览

drools - KIE 服务器(非托管)- 进程未实例化

使用 kie 服务器的 REST API,我创建了一个具有以下流程定义的容器:

如果我尝试启动进程的一个实例,它似乎可以工作,使用:

curl -i -u '用户:密码!' -X POST -H 'Content-type: application/json' http://localhost:8080/kie-server/services/rest/server/containers/someContainerId/processes/someProcessId/instances

我收到一个 HTTP 201 Created 响应。

但是,如果我随后获得流程实例列表,则该列表为空。使用:

curl -i -u '用户:密码!' -X GET http://localhost:8080/kie-server/services/rest/server/queries/containers/someContainerId/process/instances

我收到:

我的 .drl 文件为每个规则定义了相同的规则流组,并且 .bpmn 定义了一个开始事件和 businessRuleTask 定义了该规则流组:

BPMN:

如果我从 DRL 中删除规则流组,我可以简单地触发所有规则(甚至不需要 BPMN),但想了解进程在 kie 服务器中的工作方式以及如何启动它们。

我应该补充一点,我正在单独插入规则使用的 java.util.Map 对象。

抱歉,这似乎是一个相对基本的问题,但据我所知,它应该启动流程实例,因此不确定我缺少什么。

谢谢。

0 投票
0 回答
333 浏览

integration - drools-showcase 和 kie-server-showcase 集成

调用 Kie-Server REST 时 Drools Workbench 未进行身份验证

我正在运行 jboss/drools-workbench-showcase 和 jboss/kie-server-showcase。一切正常,kie-server 注册自己,我在“执行服务器”中看到它,可以部署和运行项目。但是当我试图查看流程实例时,它会显示“从远程服务器加载数据的凭据无效。请联系您的系统管理员”。经过一番调查,我发现 WB 打开了保持连接,发送带有授权标头的 GET,但第二个 POST 没有。

STR

使用 admin:admin 登录并转到“进程实例”

HTTP 流转储

https://pastebin.com/raw/XB2MKUAv

0 投票
1 回答
312 浏览

drools - DRL 中的 Drools 全局记录器 - 全局非法类

我正在尝试将 slf4j Logger 对象作为全局传递给我的 Drools 规则。

在我的调用 Java 类中,我定义了记录器并通过 setGlobal kie 服务器命令将其传递给规则:

在我的规则文件中,我将全局定义为:

但是,当我执行命令时,出现此错误:

错误 [org.kie.server.services.drools.DroolsKieContainerCommandServiceImpl](默认任务 1)调用容器“mycontainer”时出错:java.lang.RuntimeException:全局的非法类。预期 [org.slf4j.Logger],找到 [java.util.LinkedHashMap]。

我不知道它是从哪里得到 LinkedHashMap 的。我已单步执行调用代码,但看不到地图出现的位置。

如果我将规则文件中的全局更改为 LinkedHashMap,我不会收到错误消息。所以不知何故,看起来我在 Java 类中的记录器对象正在转换为 LinkedHashMap。

任何帮助表示赞赏,谢谢。

0 投票
0 回答
625 浏览

drools - KIE Server REST API 在运行时创建、检索和更新规则

我正在尝试使用 KIE Server REST API,如下所示:https ://docs.jboss.org/drools/release/7.27.0.Final/drools-docs/html_single/index.html#kie-server-rest- api-con_kie-apis

具体来说,我想将 API 用于:“检索和更新业务资产信息”。

我无法在运行时找到用于创建新规则(业务资产)的 KIE Server REST API。我希望能够在项目部署到 KIE 服务器后添加新规则。

您能否指点我使用 REST API 创建、检索和更新规则的 REST API?

0 投票
1 回答
269 浏览

spring-boot - 如何从 SpringBoot 调用 https

从我的 Spring Boot 应用程序中,我想调用 Red Hat Decision Manager kie server rest API:

但我收到此错误:

java.lang.RuntimeException:org.kie.server.common.rest.NoEndpointFoundException:没有找到可用的端点

这是因为认证错误。我从该站点下载了认证并创建了密钥库。但是,我怎么能从我们的 spring boot 中调用那个 https 呢?

0 投票
2 回答
3821 浏览

spring-boot - 将 kie-server 集成到 Spring Boot 应用程序中

我想在我的 spring boot 应用程序中集成所有 kie-server 自动配置(尤其是 JBPM)。我在项目的单独模块中添加了这些 gradle 依赖项

然后我添加了此链接建议的配置属性

https://github.com/kiegroup/droolsjbpm-integration/blob/master/kie-spring-boot/kie-spring-boot-samples/jbpm-spring-boot-sample-basic/src/main/resources/application- postgres.properties

然后我尝试启动应用程序,但出现此错误:

JBPMDataSourceAutoConfiguration链接如下

https://github.com/kiegroup/droolsjbpm-integration/blob/master/kie-spring-boot/kie-spring-boot-autoconfiguration/jbpm-spring-boot-data-sources/src/main/java/org/ jbpm/springboot/datasources/JBPMDataSourceAutoConfiguration.java

如何在我现有的 Spring Boot 项目中正确配置 jbpm/drools/kie 的嵌入式集成?

- - - - - 更新 - - - - - - -

设置属性后spring.jta.enabled = true,异常发生在