【问题标题】:Spring boot integration with JBPM 7.23.0Spring Boot 与 JBPM 7.23.0 的集成
【发布时间】:2019-11-21 02:18:54
【问题描述】:

我是 jBPM 的新手。我想在 Spring Boot 中使用 jBPM 7.23.0。据我了解,有两种方法可以集成它。

  1. JBPM 即服务
  2. 嵌入在 Spring Boot 应用程序中的 jBPM 项目

我正在尝试了解如何将 jBPM 7.23.0 与 Spring boot 一起嵌入。

  1. 是否需要使用 Business Central 或 Eclipse 插件分别创建和构建 jBPM 项目并在 spring boot 应用程序中使用 kjar? 或
  2. 可以直接在spring boot应用中使用jBPM项目文件(如.BPNM、.drl等文件)直接构建spring boot应用吗?

我正在阅读来自 https://www.jbpm.org/ 的 jBPM 文档

我也从文档中获得了一些示例项目链接。我尝试安装并运行示例项目,但它无助于明确集成概念。

【问题讨论】:

    标签: spring-boot jbpm tomcat9


    【解决方案1】:

    我正在 Integrated jBPM 和 github 上的 business-application 编写教程。它与来自jBPM - Build your business application 的 jBPM 入门应用程序一起使用,扩展以演示更完整的示例。

    • original-business-application-kjar:一个 kjar 项目。 kjar 项目 持有流程、业务规则、优化等 在 jBPM 运行时引擎中实现和运行所需的信息。 默认的 starter kjar 只有一个默认的配置文件。

    • original-business-application-model:要使用的简单java项目 作为业务流程的外部数据模型。默认 在 com.company.model.Model 处包含一个空 POJO。

    • original-business-application-service:默认的springboot jBPM服务。

    默认服务器状态在项目根目录的business-application-service.xml 中定义。此配置文件定义了一个已部署且正在运行的容器,其 GAV 值与 business-application-kjar 相同。他将按照开箱即用的方式构建并使用com.company:business-application-kjar:1.0-SNAPSHOT 的 GAV 进行安装。开箱即用的pom.xml 会导致eclipse m2e 出现问题。您可以添加条目以修复来自 m2e 的警告。

    如果您运行服务器,它最初会失败并出现 java 运行时异常 java.lang.RuntimeException: Cannot find KieModule: com.company:business-application-kjar:1.0-SNAPSHOT。要解决此问题,您必须使用 kjar 项目中的 mvn install 将 kjar 安装到本地 maven 存储库中。

    一旦 springboot jBPM 服务启动,它就会在 localhost 端口 8090 上运行。jBPM REST 端点可以在 http://localhost:8090/rest/server 找到并且访问受限。授权在项目的 DefaultWebSecurityConfig.java 类中配置。

    【讨论】:

      【解决方案2】:

      据我了解,您需要确认前 3 个问题并回答第四个问题。

      似乎前 3 个选项是正确的,除了前 2 个,我想说你比这 2 个有更多的灵活性和选择。

      我可以使用 jBPM 项目文件吗(如 .BPNM 、 .drl 等文件) 直接在 Spring Boot 应用程序中构建 Spring Boot 直接申请?

      您可以通过以下方式执行此操作:您的 spring boot 应用程序具有 kie-server.jar 库。然后启动一个部署服务,如果您需要将 bpmn/drl 文件放在部署中,或者您可以直接启动一个运行时管理器和一个 KieBase,然后向其中添加资源 bpmn 和 drl,然后进行构建。这将使这些定义准备好启动、实例化和执行。

      我希望这已经足够清楚了,或者您可以要求进一步澄清

      【讨论】: