从camunda中的多个模块加载流程定义

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

我正在尝试为多模块项目配置Camunda自动资源部署。我要归档的是以下项目结构:

\---learnCamunda
|   pom.xml
+---application
|   |   pom.xml
|   +---src
|       \---main
|           +---java
|           |   \---com
|           |       \---camunda
|           |            \---learnCamunda
|           |               |   LearnCamundaApplication.java
|           |               \---configuration
|           |                       CustomOracleDialect.java
|           |                       FlywayConfiguration.java
|           |                       H2ConsoleConfiguration.java                 
|           \---resources
|               |   application.properties
|               |   
|               \---processes
|                       loanRequest.bpmn                      
+---contract-management
   |   pom.xml 
   \---src
      \---main
          +---java
          |   \---com
          |       \---camunda
          |           \---learnCamunda
          |               +---dto
          |               +---dts
          |               +---entity
          |               \---enums
          \---resources
              \---processes
                      DUMMY_PROCESS.bpmn

其中applicationcontract managementlearnCamunda项目的模块,我希望我的application.properties为Camunda资源扫描提供类路径以拾取loanRequest.bpmnDUMMY_PROCESS.bpmn。这可能通过application.properties在应用程序模块中实现吗? (应用程序模块依赖于合同管理模块)

如果有可能那么camunda属性 - 我应该设置它和什么?

我已经尝试了deployment-resource-pattern的不同组合,但没有它们起作用。

编辑:有一点我注意到PathMatchingResourcePatternResolver.findAllClassPathResources从目标加载所有资源,我编译的模型在target.classes.processes和解析器的类路径资源是target.classes所以它似乎没有递归,但我很难确认这

java spring bpmn multi-module camunda
1个回答
1
投票

你是正确的将deployment-resource-pattern财产作为起点。默认情况下,它将包含classpath*:**/*.bpmn,因此应加载您的文件。

这表明问题是deployment-resource-pattern的值已经改变或者合同管理jar不在类路径上。

我建议你尝试调试应用程序来检查camunda.deployment-resource-pattern的值。然后看看构建过程并确保您的应用程序依赖于合同管理,它的相同版本和父pom正在构建它们。

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