来自Camunda中多个模块的负载过程定义



我正在尝试为多模块项目配置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资源扫描提供classPath以拾取loanRequest.bpmnDUMMY_PROCESS.bpmn。通过应用程序模块中的application.properties可以做到这一点吗?(申请模块对合同管理模块有依赖性)

如果可能的话,那么哪个camunda属性 - 我应该设置它吗?

我已经尝试了deployment-resource-pattern的不同组合,但其中未使用。

编辑:我注意到的一件事是,PathMatchingResourcePatternResolver.findAllClassPathResources从目标加载了所有资源,我的编译模型是在target.classes.processes中,而Resolver的ClassPath资源是target.classes,因此似乎没有递归进行,但是IM很难确认此

您可以正确地将deployment-resource-pattern属性作为起点。默认情况下,它将包括classpath*:**/*.bpmn,以便您的文件应加载。

表明问题是deployment-resource-pattern的值已更改,或者合同管理JAR不在classPath上。

我建议您尝试调试应用程序以检查camunda.deployment-resource-pattern的值。然后查看构建过程,并确保您的应用程序取决于合同管理,其版本相同,而父型POM都在构建它们。

最新更新