-
Type:
Bug Report
-
Resolution: Fixed
-
Priority:
L3 - Default
-
Affects Version/s: 7.14.4
-
Component/s: None
Environment (Required on creation):
- Wildfly 7.13.0+
- A process application that uses the CDI module
Description (Required on creation; please attach any relevant screenshots, stacktraces, log files, etc. to the ticket):
- CDI (Weld) scans for CDI annotations on the classpath
- When scanning CdiStandaloneProcessEngineConfiguration, it cannot load the class org.camunda.bpm.dmn.feel.impl.scala.function.FeelCustomFunctionProvider that is referenced via ProcessEngineConfigurationImpl#dmnFeelCustomFunctionProviders
Steps to reproduce (Required on creation):
- Create a process application that uses CDI and deploy it on Wildfly
Observed Behavior (Required on creation):
- Deployment fails
Expected behavior (Required on creation):
- Deployment succeeds
Root Cause (Required on prioritization):
- The engine's module classloader is used to initiate loading of the feel-scala class
- It does not have a direct dependency to it
Solution Ideas (Optional):
- Export the camunda-engine-feel-scala module from engine-dmn so that CDI can look up the class
- See https://github.com/camunda/camunda-bpm-platform/pull/1338
Hints (Optional):
- Another variante of the problem without CDI: Deploy a process application that tries to create a new process engine and use the dmnFeelCustomFunctionProviders configuration property. Deployment fails, because the implicit module dependencies are only created for engine and engine-dmn modules, neither of which export the feel-scala classes
- In that sense, an alternative solution would be to create an implicit module dependency to feel-scala for any Camunda deployment