Database Configuration inside camunda.war for MySQL

410 views
Skip to first unread message

roleba...@gmail.com

unread,
Jan 13, 2016, 6:51:00 AM1/13/16
to camunda BPM users
I changed the applicationContext.xml file and added the mysql driver jar to WEB-INF/lib. But during deployment the app produces the following error:

INFORMATION: CNCT-01004 Discovered provider for connector id 'soap-http-connector' and class 'org.camunda.connect.httpclient.soap.impl.SoapHttpConnectorImpl': 'org.camunda.connect.httpclient.soap.impl.SoapHttpConnectorProviderImpl'
org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'java.sql.Driver' for connect URL 'jdbc:mysql://localhost:3306/camunda?useUnicode=yes&characterEncoding=UTF-8'
at org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1452)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)
at org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy$TransactionAwareInvocationHandler.invoke(TransactionAwareDataSourceProxy.java:224)
at com.sun.proxy.$Proxy12.getMetaData(Unknown Source)
at org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl.initDatabaseType(ProcessEngineConfigurationImpl.java:809)

What am I missing?

roleba...@gmail.com

unread,
Jan 13, 2016, 7:10:21 AM1/13/16
to camunda BPM users, roleba...@gmail.com
Somehow tomcat can't find the driver in WEB-INF/lib also all other jars are there also. Why does the mysql driver needs to be in $CATALINA_HOME/lib??

thorben....@camunda.com

unread,
Jan 13, 2016, 7:25:07 AM1/13/16
to camunda BPM users, roleba...@gmail.com
Hi,

Please post your application-context.xml

Cheers,
Thorben

roleba...@gmail.com

unread,
Jan 13, 2016, 9:41:00 AM1/13/16
to camunda BPM users, roleba...@gmail.com
applicationContext.xml

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:activiti="http://www.activiti.org/schema/spring/components"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">


<bean id="dataSource" class="org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy">
<property name="targetDataSource">
<bean class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="java.sql.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/camunda?useUnicode=yes&amp;characterEncoding=UTF-8" />
<property name="username" value="root" />
<property name="password" value="mysql" />
</bean>
</property>
</bean>

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>

<bean id="processEngineConfiguration" class="org.camunda.bpm.engine.spring.SpringProcessEngineConfiguration">
<property name="processEngineName" value="default" />
<property name="dataSource" ref="dataSource" />
<property name="transactionManager" ref="transactionManager" />
<property name="databaseSchemaUpdate" value="true" />
<property name="jobExecutorActivate" value="false" />
<property name="deploymentResources" value="classpath*:bpmn/*.bpmn" />
<property name="authorizationEnabled" value="true" />
<property name="failedJobCommandFactory">
<bean class="org.camunda.bpm.engine.impl.jobexecutor.FoxFailedJobCommandFactory" />
</property>
<property name="idGenerator">
<bean class="org.camunda.bpm.engine.impl.persistence.StrongUuidGenerator" />
</property>
<property name="processEnginePlugins">
<list>
<!--<ref bean="ldapIdentityProviderPlugin" />-->
<!--<ref bean="administratorAuthorizationPlugin" />-->
<bean id="spinPlugin" class="org.camunda.spin.plugin.impl.SpinProcessEnginePlugin" />
<bean id="connectPlugin" class="org.camunda.connect.plugin.impl.ConnectProcessEnginePlugin" />
</list>
</property>
</bean>

<!-- ldap identity provider (deactivated, uncomment plugin in processEngineConfiguration to activate) -->
<bean id="ldapIdentityProviderPlugin" class="org.camunda.bpm.identity.impl.ldap.plugin.LdapIdentityProviderPlugin">
<property name="serverUrl" value="ldap://localhost:3433/" />
<property name="managerDn" value="uid=daniel,ou=office-berlin,o=camunda,c=org" />
<property name="managerPassword" value="daniel" />
<property name="baseDn" value="o=camunda,c=org" />

<property name="userSearchBase" value="" />
<property name="userSearchFilter" value="(objectclass=person)" />
<property name="userIdAttribute" value="uid" />
<property name="userFirstnameAttribute" value="cn" />
<property name="userLastnameAttribute" value="sn" />
<property name="userEmailAttribute" value="mail" />
<property name="userPasswordAttribute" value="userpassword" />

<property name="groupSearchBase" value="" />
<property name="groupSearchFilter" value="(objectclass=groupOfNames)" />
<property name="groupIdAttribute" value="ou" />
<property name="groupNameAttribute" value="cn" />
<property name="groupMemberAttribute" value="member" />
</bean>

<bean id="administratorAuthorizationPlugin" class="org.camunda.bpm.engine.impl.plugin.AdministratorAuthorizationPlugin">
<property name="administratorUserName" value="admin" />
</bean>

<bean id="processEngine" class="org.camunda.bpm.engine.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration" />
</bean>

<bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />
<bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService" />
<bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />
<bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
<bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" />
</beans>

roleba...@gmail.com

unread,
Jan 13, 2016, 10:10:49 AM1/13/16
to camunda BPM users, roleba...@gmail.com
I have tried both mysql-connector-java-5.1.34-bin.jar and mysql-connector-java-5.1.38-bin.jar. But I am still getting

java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(DriverManager.java:315)
at org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1437)

thorben....@camunda.com

unread,
Jan 13, 2016, 10:38:42 AM1/13/16
to camunda BPM users, roleba...@gmail.com
Hi,

java.sql.Driver is an interface and can't be used as the driver. For MySQL, the correct driver name is com.mysql.jdbc.Driver.

Cheers,
Thorben

roleba...@gmail.com

unread,
Jan 13, 2016, 10:45:30 AM1/13/16
to camunda BPM users, roleba...@gmail.com
You saved my day :)
Thanks thorben!
Reply all
Reply to author
Forward
0 new messages