camunda / camunda-bpm-platform

Flexible framework for workflow and decision automation with BPMN and DMN. Integration with Quarkus, Spring, Spring Boot, CDI.
https://camunda.com/
Apache License 2.0
4.09k stars 1.55k forks source link

WAS Liberty doesn't read JNDI-defined bpm-platform location #2759

Open ThorbenLindhauer opened 2 years ago

ThorbenLindhauer commented 2 years ago

This issue was imported from JIRA:

Field Value
JIRA Link CAM-14761
Reporter @koevskinikola
Has restricted visibility comments false

Environment (Required on creation):

WebSphere Liberty 22.0.0.3

Description (Required on creation; please attach any relevant screenshots, stacktraces, log files, etc. to the ticket):

Camunda Platform 7 allows defining a custom location of the bpm-platform.xml configuration file through a JNDI entry with the label java:comp/env/bpm-platform-xml

Steps to reproduce (Required on creation):

Define a jndiEntry in the server.xml of the Camunda Platform 7 WAS Liberty installation.

<jndiEntry jndiName="java:comp/env/bpm-platform-xml" value='"${server.config.dir}/bpm-platform.xml"' />

<enterpriseApplication id="camundaBpmPlatform" 
                 name="camunda-bpm-platform"
                 location="${server.config.dir}/apps/camunda-ibm-websphere-ear-7.18.0-SNAPSHOT.ear" >
        <classloader commonLibraryRef="Camunda"/>
        <ejb-jar-bnd moduleName="camunda-ibm-websphere-service">
            <session name="EjbBpmPlatformBootstrap">
                <resource-ref name="java:comp/env/bpm-platform-xml" binding-name="bpm-platform-xml" />
            </session>
        </ejb-jar-bnd>
    </enterpriseApplication>

The JNDI entry must be added in the ejb-jar-bnd application section (or the ibm-ejb-jar-bnd.xml) to be available through the java:comp/env/ namespace.

Observed Behavior (Required on creation):

A NameNotFoundException is thrown when the engine attempts to look-up a JNDI entry called java:comp/env/bpm-platform-xml.

Expected behavior (Required on creation):

The JNDI entry is successfully found.

Root Cause (Required on prioritization):

Solution Ideas (Optional):

Hints (optional):

WAS Liberty had a bug related to comp/env JNDI entries, but it was resolved (ref, ref2).

Links:

ThorbenLindhauer commented 2 years ago

This comment was imported from JIRA and written by user @koevskinikola


Internal note:

Note

The failure to detect the java:comp/env/bpm-platform-xml JNDI entry is not a bug in Camunda Platform 7. WAS Liberty requires additional configuration to be able to pass JNDI entries in the java:comp/env context. This "additional configuration" is currently not clear.

We also need to make clear that while Tomcat defines the java:/comp/env/ context, in Liberty it is java:comp/env.