Issue while configuring datasource in Tomcat in Camunda and using it to do sql queries in JDBC

Hi Team,

I am facing the below issue while starting Camunda due to incorrect configuration.

INFO: JobExecutor[org.camunda.bpm.engine.impl.jobexecutor.RuntimeContainerJobExecutor] stopped job acquisition
Mar 17, 2016 11:24:12 PM org.apache.catalina.startup.Catalina start
SEVERE: The required Server component failed to start so Tomcat is unable to start.
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.startup.Catalina.start(Catalina.java:689)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Caused by: org.camunda.bpm.engine.ProcessEngineException: Exception while performing ‘deploy BPM platform => Start process engine default’: couldn’t lookup datasource from java:jdbc/ProcessEngine: com.mysql.jdbc.Driver
at org.camunda.bpm.container.impl.spi.DeploymentOperation.execute(DeploymentOperation.java:134)
at org.camunda.bpm.container.impl.jmx.MBeanServiceContainer.executeDeploymentOperation(MBeanServiceContainer.java:148)
at org.camunda.bpm.container.impl.spi.DeploymentOperation$DeploymentOperationBuilder.execute(DeploymentOperation.java:209)
at org.camunda.bpm.container.impl.tomcat.TomcatBpmPlatformBootstrap.deployBpmPlatform(TomcatBpmPlatformBootstrap.java:69)
at org.camunda.bpm.container.impl.tomcat.TomcatBpmPlatformBootstrap.lifecycleEvent(TomcatBpmPlatformBootstrap.java:55)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:347)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
… 7 more
Caused by: org.camunda.bpm.engine.ProcessEngineException: couldn’t lookup datasource from java:jdbc/ProcessEngine: com.mysql.jdbc.Driver
at org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl.initDataSource(ProcessEngineConfigurationImpl.java:676)
at org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl.init(ProcessEngineConfigurationImpl.java:498)
at org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl.buildProcessEngine(ProcessEngineConfigurationImpl.java:468)
at org.camunda.bpm.container.impl.jmx.services.JmxManagedProcessEngineController.start(JmxManagedProcessEngineController.java:34)
at org.camunda.bpm.container.impl.jmx.MBeanServiceContainer.startService(MBeanServiceContainer.java:67)
at org.camunda.bpm.container.impl.jmx.MBeanServiceContainer.startService(MBeanServiceContainer.java:53)
at org.camunda.bpm.container.impl.deployment.StartProcessEngineStep.performOperationStep(StartProcessEngineStep.java:114)
at org.camunda.bpm.container.impl.spi.DeploymentOperation.execute(DeploymentOperation.java:117)
… 17 more
Caused by: javax.naming.NamingException: com.mysql.jdbc.Driver
at org.apache.naming.NamingContext.lookup(NamingContext.java:859)
at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
at org.apache.naming.NamingContext.lookup(NamingContext.java:830)
at org.apache.naming.NamingContext.lookup(NamingContext.java:167)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:156)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
at org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl.initDataSource(ProcessEngineConfigurationImpl.java:674)
… 24 more

I am using below configuration.

<Resource name="jdbc/ProcessEngine"
          auth="Container"
          type="javax.sql.DataSource" 
		  factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
          uniqueResourceName="process-engine"
          driverClassName="com.mysql.jdbc.Driver" 
          url="jdbc:oracle:thin:@zlt03644.vci.att.com:1524:t1c3d364"
          username="aradmin"  
          password="temp4use"
          maxActive="20"
          minIdle="5" />

I also need to know how to call sql queries in Java and configure sql query dynamically in service task. Any help would be much appreciated.

Hi Shiva,

You should either use an Oracle jdbc driver when you specify an connection
url specific to Oracle. Or you should use a mysql jdbc connection url when
using a mysql jdbc driver.

Cheers,
Christian

Any Document for How to Configure camunda with sql server, i have to configure it with sql server

Hi @paragbharne,

this is really not a camunda related question. But here is an example https://wiki.apache.org/tomcat/UsingDataSources.

Cheers,
Askar.