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

时间:2019-03-07 14:27:02

标签: java spring bpmn multi-module 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资源扫描提供类路径以同时提取loanRequest.bpmn和{ {1}}。是否可以通过应用程序模块中的DUMMY_PROCESS.bpmn? (应用程序模块依赖合同管理模块)

如果可能的话,那么应使用哪个camunda属性-我应该将其设置为什么?

我已经尝试过application.properties的不同组合,但是没有一个起作用。

编辑: 我注意到的一件事是deployment-resource-pattern从目标加载了所有资源,我的编译模型在PathMatchingResourcePatternResolver.findAllClassPathResources中,而解析器的类路径资源是target.classes.processes,因此似乎没有递归完成,但是我很难是时候确认这一点了

1 个答案:

答案 0 :(得分:1)

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

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

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