Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-13188

Class loading issue on JBoss EAP when using CDI

    XMLWordPrintable

Details

    • Bug Report
    • Resolution: Unresolved
    • L3 - Default
    • None
    • 7.14.5, 7.13.11, 7.15.0
    • None

    Description

      Environment (Required on creation):

      • JBoss EAP 7.0
      • 7.13.0+ (probably caused by CAM-10748)
      • engine-cdi module used

      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 org.camunda.bpm.engine.cdi.impl.ManagedJobExecutor, it cannot load the class javax.enterprise.concurrent.ManagedExecutorService

      Steps to reproduce (Required on creation):

      Configure JBoss EAP 7.0 to use the engine-cdi module and start the server

      Observed Behavior (Required on creation):

      The following is logged:

      10:37:34,244 INFO org.jboss.weld.Bootstrap: WELD-000119: Not generating any bean definitions from org.camunda.bpm.engine.cdi.impl.ManagedJobExecutor because of underlying class loading error: Type javax.enterprise.concurrent.ManagedExecutorService from [Module "org.camunda.bpm.camunda-engine:main" from local module loader @4b34fff9 (finder: local module finder @1187c9e8 (roots: \jboss-eap-7.0.8\modules,\jboss-eap-7.0.8\modules\system\layers\base\.overlays\layer-base-jboss-eap-7.0.8.CP,jboss-eap-7.0.8\modules\system\layers\base))] not found. If this is unexpected, enable DEBUG logging to see the full error.
      

      Please also see the more verbose log when increasing the severity of the logger org.jboss.weld.Bootstrap to DEBUG.

      Expected behavior (Required on creation):

      The log is absent.

      Root Cause (Required on prioritization):

      • The engine's module classloader is used to initiate the loading of the javax.enterprise.concurrent.api class
      • It does not have a direct dependency on it

      Solution Ideas (Optional):

      Import the javax.enterprise.concurrent.api module in camunda-engine so that CDI can look up the class:

      /modules/org/camunda/bpm/camunda-engine/main/module.xml
      10a11
      >     <module name="javax.enterprise.concurrent.api" />
      

      mgm-controller-panel

        This is the controller panel for Smart Panels app

        Attachments

          Activity

            People

              Unassigned Unassigned
              tassilo.weidner Tassilo Weidner
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Salesforce