Couldn't lookup datasource from java:jdbc/ProcessEngine

Hello!

I’m painfully new to Camunda, and web development in general. I’m using Camunda with embedded Tomcat, and I’m trying to get the LDAP Plugin to work by configuring it within processes.xml. It works fine if I use bpm-platform.xml, but my intent is to package the configuration as part of a war file. I followed the documentation here, but I get the error in the title when I try to deploy the war. I know java:jdbc/ProcessEngine is declared in the server.xml file, but I’m not sure how to point to it. Here’s my processes.xml. Thanks!

<process-engine name="ldap">
<job-acquisition>default</job-acquisition>
<configuration>org.camunda.bpm.engine.impl.cfg.StandaloneProcessEngineConfiguration</configuration>
<datasource>java:jdbc/ProcessEngine</datasource>

    <properties>
        <property name="history">full</property>
        <property name="databaseSchemaUpdate">true</property>
        <property name="authorizationEnabled">true</property>
        <property name="jobExecutorDeploymentAware">true</property>
    </properties>

    <plugins>
        <!-- plugin enabling Process Application event listener support -->
        <plugin>
            <class>org.camunda.bpm.application.impl.event.ProcessApplicationEventListenerPlugin</class>
        </plugin>

        <!-- plugin enabling integration of camunda Spin -->
        <plugin>
            <class>org.camunda.spin.plugin.impl.SpinProcessEnginePlugin</class>
        </plugin>

        <!-- plugin enabling connect support -->
        <plugin>
            <class>org.camunda.connect.plugin.impl.ConnectProcessEnginePlugin</class>
        </plugin>

        <plugin>
            <class>org.camunda.bpm.identity.impl.ldap.plugin.LdapIdentityProviderPlugin</class>
            <properties>
                <property name="serverUrl">ldap://localhost:10389/</property>
                <property name="managerDn">uid=farnsworthh,ou=users,dc=example,dc=com</property>
                <property name="managerPassword">demo</property>
                <property name="baseDn">dc=example,dc=com</property>
                <property name="userSearchBase"></property>
                <property name="userIdAttribute">uid</property>
                <property name="userFirstnameAttribute">givenName</property>
                <property name="userLastnameAttribute">sn</property>
                <property name="userPasswordAttribute">userpassword</property>
                <property name="userEmailAttribute">mail</property>
                <property name="groupSearchBase">ou=groups</property>
                <property name="groupIdAttribute">uo</property>
                <property name="groupNameAttribute">cn</property>
                <property name="userSearchFilter">(ou=users)</property>
                <property name="groupSearchFilter">(ou=groups)</property>
                <property name="securityAuthentication">none</property>
            </properties>
        </plugin>

        <plugin>
            <class>org.camunda.bpm.engine.impl.plugin.AdministratorAuthorizationPlugin</class>
            <properties>
                <property name="administratorUserName">farnsworthh</property>
            </properties>
        </plugin>

    </plugins>
</process-engine>

<process-archive name="aero-camunda">
    <process-engine>ldap</process-engine>
    <resource>aero.bpmn</resource>
    <properties>
        <property name="isDeleteUponUndeploy">false</property>
        <property name="isScanForProcessDefinitions">true</property>
    </properties>
</process-archive>

Hi,

I am also wanting to do this. Have you figure out how yet

Thx

What is the error you’re seeing when you try adding the LDAP config to the processes.xml in your application? Do you have a log?

Hello! Here’s the error I’m getting. Its sourced from the InitialContext.lookup method in ProcessEngineConfigurationImpl.

30-Mar-2017 12:28:01.447 SEVERE [localhost-startStop-6] org.apache.catalina.core.StandardContext.listenerStart
Exception sending context initialized event to listener instance of class
com.appnovation.camunda.NonCapitalProcurementApplication
org.camunda.bpm.engine.ProcessEngineException: ENGINE-08043 Exception while performing ‘Deployment of Process Application Non Capital Procurement’ => ‘Start process engine ldap’: couldn’t lookup datasource from java:jdbc/ProcessEngine: Name [jdbc/ProcessEngine] is not bound in this Context. Unable to find [jdbc].
at org.camunda.bpm.container.impl.ContainerIntegrationLogger.exceptionWhilePerformingOperationStep(ContainerIntegrationLogger.java:312)
at org.camunda.bpm.container.impl.spi.DeploymentOperation.execute(DeploymentOperation.java:132)
at org.camunda.bpm.container.impl.jmx.MBeanServiceContainer.executeDeploymentOperation(MBeanServiceContainer.java:156)
at org.camunda.bpm.container.impl.spi.DeploymentOperation$DeploymentOperationBuilder.execute(DeploymentOperation.java:212)
at org.camunda.bpm.container.impl.RuntimeContainerDelegateImpl.deployProcessApplication(RuntimeContainerDelegateImpl.java:95)
at org.camunda.bpm.application.AbstractProcessApplication.deploy(AbstractProcessApplication.java:59)
at org.camunda.bpm.application.impl.ServletProcessApplication.contextInitialized(ServletProcessApplication.java:131)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4727)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:945)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1768)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.camunda.bpm.engine.ProcessEngineException: couldn’t lookup datasource from java:jdbc/ProcessEngine: Name [jdbc/ProcessEngine] is not bound in this Context. Unable to find [jdbc].
at org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl.initDataSource(ProcessEngineConfigurationImpl.java:895)
at org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl.init(ProcessEngineConfigurationImpl.java:684)
at org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl.buildProcessEngine(ProcessEngineConfigurationImpl.java:649)
at org.camunda.bpm.container.impl.jmx.services.JmxManagedProcessEngineController.start(JmxManagedProcessEngineController.java:34)
at org.camunda.bpm.container.impl.jmx.MBeanServiceContainer.startService(MBeanServiceContainer.java:73)
at org.camunda.bpm.container.impl.jmx.MBeanServiceContainer.startService(MBeanServiceContainer.java:59)
at org.camunda.bpm.container.impl.deployment.StartProcessEngineStep.performOperationStep(StartProcessEngineStep.java:119)
at org.camunda.bpm.container.impl.spi.DeploymentOperation.execute(DeploymentOperation.java:116)
… 18 more
Caused by: javax.naming.NameNotFoundException: Name [jdbc/ProcessEngine] is not bound in this Context. Unable to find [jdbc].
at org.apache.naming.NamingContext.lookup(NamingContext.java:818)
at org.apache.naming.NamingContext.lookup(NamingContext.java:166)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:157)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl.initDataSource(ProcessEngineConfigurationImpl.java:893)
… 25 more

I think its more of an DB error If you are using stanalone version of camunda web app then follow this link else checkout the answer in this thread