kiescanner 无法刷新 docker 容器内的规则

问题描述 投票:0回答:1

我无法使用 kiescanner 使用最新的 KJAR 刷新规则。我们有 Artifactory 作为远程存储库。我提供了自定义 settings.xml 。 kie-cie 在 pom.xml 中。在 docker 中,我提供 M2-HOME。

Docker文件 ENV APP_HOME =/应用程序 环境 MAVEN_HOME /usr/share/maven ENV MAVEN_CONFIG "$APP_HOME/.m2" 环境 M2_HOME /usr/share/maven 复制 settings.xml /app/.m2/settings.xml 复制 settings.xml ${M2_HOME}/conf/settings.xml

我的 settings.xml 有 artifactory url。当 docker 容器启动时,它会从 artifactory 中选择最新的 KJAR 版本。但是,当我发布新版本时,它不会在 docker 容器中自动更新。谁能帮忙?谢谢。

我的 settings.xml 有 artifactory url。当 docker 容器启动时,它会从 artifactory 中选择最新的 KJAR 版本。但是,当我发布新版本时,它不会在 docker 容器中自动更新。谁能帮忙?谢谢。

drools rules kie business-rules
1个回答
0
投票

事实是:

当 docker 容器启动时,它会从 artifactory 中选择最新的 KJAR 版本。

是一个好兆头,确认 docker 容器可以从外部远程 maven 存储库中看到预期的版本。

您是否错过了将 kieScanner 设置为开始:

// Start the KieScanner polling the Maven repository every 10 seconds
kScanner.start( 10000L );

为了具有可重现的行为,我建议您实现一个路由/功能,您可以在其中手动调用扫描:

kScanner.scanNow();

这样,您可以通过显式调用和日志观察 KieScanner 结果。

不要忘记设置一个版本范围是理想的,而不是依赖于遗留的 LATEST 或 RELEASE(具体参见这里的手册)。

总结:

  1. 检查 KieScanner 是否真的启动了
  2. 考虑手动调用 KieScanner 的功能以获得可重现和更好的可观察行为
  3. 使用版本范围,避免使用 LATEST 或 RELEASE 作为扫描坐标,如手册中所述

参考:https://docs.drools.org/8.35.0.Final/drools-docs/docs-website/drools/KIE/index.html#_kiescanner

© www.soinside.com 2019 - 2024. All rights reserved.