3.5. 使用 KIE 扫描程序来监控和更新 KIE 容器


Red Hat Process Automation Manager 中的 KIE 扫描程序会监控您的 Maven 存储库以获取 Red Hat Process Automation Manager 项目的新 SNAPSHOT 版本,然后将项目的最新版本部署到指定的 KIE 容器。您可以在开发环境中使用 KIE 扫描程序,在新版本可用时更有效地维护您的 Red Hat Process Automation Manager 项目部署。

重要

对于生产环境,请不要将 KIE 扫描程序与 SNAPSHOT 项目版本搭配使用,以避免意外或意外的项目更新。KIE 扫描程序适用于使用 SNAPSHOT 项目版本的开发环境。

避免将 KIE 扫描程序与业务流程一起使用。将 KIE 扫描程序与进程搭配使用可能会导致无法预见的更新,然后在更改与正在运行的进程实例不兼容时导致长时间运行的进程出现错误。

先决条件

  • kie-ci.jar 文件位于 Red Hat Process Automation Manager 项目的类路径上。

流程

  1. 在项目中的相关 .java 类中,注册并启动 KIE 扫描程序,如下例所示:

    为 KIE 容器注册并启动 KIE 扫描程序

    import org.kie.api.KieServices;
    import org.kie.api.builder.ReleaseId;
    import org.kie.api.runtime.KieContainer;
    import org.kie.api.builder.KieScanner;
    
    ...
    
    KieServices kieServices = KieServices.Factory.get();
    ReleaseId releaseId = kieServices
      .newReleaseId("com.sample", "my-app", "1.0-SNAPSHOT");
    KieContainer kContainer = kieServices.newKieContainer(releaseId);
    KieScanner kScanner = kieServices.newKieScanner(kContainer);
    
    // Start KIE scanner for polling the Maven repository every 10 seconds (10000 ms)
    kScanner.start(10000L);

    在本例中,KIE 扫描程序被配置为以固定间隔运行。最小 KIE 扫描程序轮询的间隔为 1 毫秒 (ms),最大轮询间隔是数据类型 long 的最大值。轮询间隔 0 或更少会导致 java.lang.IllegalArgumentException: pollingInterval 必须是正 错误。您还可以通过调用 scanNow () 方法,将 KIE 扫描程序配置为按需运行。

    示例中的项目组 ID、工件 ID 和版本(GAV)设置定义为 com.sample:my-app:1.0-SNAPSHOT。项目版本必须包含 -SNAPSHOT 后缀,使 KIE 扫描程序能够检索指定工件版本的最新构建。如果您更改了快照项目版本号,如增加到 1.0.1-SNAPSHOT,那么您还必须在 KIE 扫描程序配置中的 GAV 定义中更新版本。KIE 扫描程序不会检索具有静态版本的项目的更新,如 com.sample:my-app:1.0

  2. 在 Maven 存储库的 settings.xml 文件中,将 updatePolicy 配置设置为 always 以使 KIE 扫描程序正常工作:

    <profile>
      <id>guvnor-m2-repo</id>
      <repositories>
        <repository>
          <id>guvnor-m2-repo</id>
          <name>BA Repository</name>
          <url>http://localhost:8080/business-central/maven2/</url>
          <layout>default</layout>
          <releases>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </repository>
      </repositories>
    </profile>

    KIE 扫描程序开始轮询后,如果 KIE 扫描程序检测到指定 KIE 容器中 SNAPSHOT 项目的更新版本,KIE 扫描程序会自动下载新项目的逐步构建。此时,从 KIE 容器创建的所有新 KieBaseKieSession 对象都使用新项目版本。

    有关使用 KIE Server API 启动或停止 KIE 扫描程序的详情,请参考使用 KIE API 与 Red Hat Process Automation Manager 进行交互

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部