Hi,I am new to Activiti, I am trying to create a ProcessEngine instance by following the user guide.I added the activiti.cfg.xml file that contains the engine configuration for an H2 in memory database.When executing the code in the main method i get this error: 01:27:19,675 [main] ERROR org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl - Exception while initializing Database connectionjava.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: org.h2.DriverIt seems not to detect the H2 driver although I included the dependency for H2 in the pom.xml.Could someone help me in what i am doing wrong here?Here is the main method i am executing:
package org.activiti;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.activiti.engine.test.ActivitiRule;
import org.activiti.engine.test.Deployment;
import org.junit.Rule;
import org.junit.Test;
import static org.junit.Assert.*;
public class UnitTest {
public static void main(String[] args){
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
System.out.println("End of exe!");
}
}
and here is the activiti.cfg.xml file contents:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name="jdbcUrl" value="jdbc:h2:mem:activiti;DB_CLOSE_DELAY=1000" />
<property name="jdbcDriver" value="org.h2.Driver" />
<property name="jdbcUsername" value="sa" />
<property name="jdbcPassword" value="" />
<property name="databaseSchemaUpdate" value="true" />
<property name="jobExecutorActivate" value="false" />
<property name="asyncExecutorEnabled" value="true" />
<property name="asyncExecutorActivate" value="false" />
<property name="mailServerHost" value="mail.my-corp.com" />
<property name="mailServerPort" value="5025" />
</bean>
</beans>
Here is the full output log i get:01:27:18,583 [main] INFO org.activiti.engine.ProcessEngines - Initializing process engine using configuration 'file:/Users/Hassan/Documents/Eclipse/workspace/activiti-unit-test-template-master/target/classes/activiti.cfg.xml'01:27:18,586 [main] INFO org.activiti.engine.ProcessEngines - initializing process engine for resource file:/Users/Hassan/Documents/Eclipse/workspace/activiti-unit-test-template-master/target/classes/activiti.cfg.xml01:27:18,853 [main] DEBUG org.springframework.core.env.StandardEnvironment - Adding [systemProperties] PropertySource with lowest search precedence01:27:18,854 [main] DEBUG org.springframework.core.env.StandardEnvironment - Adding [systemEnvironment] PropertySource with lowest search precedence01:27:18,854 [main] DEBUG org.springframework.core.env.StandardEnvironment - Initialized StandardEnvironment with PropertySources [systemProperties,systemEnvironment]01:27:18,865 [main] INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from resource loaded through InputStream01:27:18,887 [main] DEBUG org.springframework.beans.factory.xml.DefaultDocumentLoader - Using JAXP provider [com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl]01:27:18,914 [main] DEBUG org.springframework.beans.factory.xml.PluggableSchemaResolver - Loading schema mappings from [META-INF/spring.schemas]01:27:18,922 [main] DEBUG org.springframework.beans.factory.xml.PluggableSchemaResolver - Loaded schema mappings: {http://www.springframework.org/schema/beans/spring-beans-3.2.xsd=org/springframework/beans/factory/x..., http://www.springframework.org/schema/util/spring-util-3.0.xsd=org/springframework/beans/factory/xml..., http://www.springframework.org/schema/util/spring-util-4.1.xsd=org/springframework/beans/factory/xml..., http://www.springframework.org/schema/util/spring-util-2.0.xsd=org/springframework/beans/factory/xml..., http://www.springframework.org/schema/util/spring-util-2.5.xsd=org/springframework/beans/factory/xml..., http://www.springframework.org/schema/tool/spring-tool-3.0.xsd=org/springframework/beans/factory/xml..., http://www.springframework.org/schema/tool/spring-tool-4.1.xsd=org/springframework/beans/factory/xml..., http://www.springframework.org/schema/tool/spring-tool-2.0.xsd=org/springframework/beans/factory/xml..., http://www.springframework.org/schema/util/spring-util-3.2.xsd=org/springframework/beans/factory/xml..., http://www.springframework.org/schema/beans/spring-beans-4.1.xsd=org/springframework/beans/factory/x..., http://www.springframework.org/schema/beans/spring-beans-2.0.xsd=org/springframework/beans/factory/x..., http://www.springframework.org/schema/tool/spring-tool-2.5.xsd=org/springframework/beans/factory/xml..., http://www.springframework.org/schema/beans/spring-beans-3.1.xsd=org/springframework/beans/factory/x..., http://www.springframework.org/schema/beans/spring-beans-2.5.xsd=org/springframework/beans/factory/x..., http://www.springframework.org/schema/beans/spring-beans.xsd=org/springframework/beans/factory/xml/s..., http://www.springframework.org/schema/tool/spring-tool.xsd=org/springframework/beans/factory/xml/spr..., http://www.springframework.org/schema/tool/spring-tool-3.2.xsd=org/springframework/beans/factory/xml..., http://www.springframework.org/schema/util/spring-util-4.0.xsd=org/springframework/beans/factory/xml..., http://www.springframework.org/schema/tool/spring-tool-4.0.xsd=org/springframework/beans/factory/xml..., http://www.springframework.org/schema/util/spring-util-3.1.xsd=org/springframework/beans/factory/xml..., http://www.springframework.org/schema/beans/spring-beans-4.0.xsd=org/springframework/beans/factory/x..., http://www.springframework.org/schema/beans/spring-beans-3.0.xsd=org/springframework/beans/factory/x..., http://www.springframework.org/schema/tool/spring-tool-3.1.xsd=org/springframework/beans/factory/xml..., http://www.springframework.org/schema/util/spring-util.xsd=org/springframework/beans/factory/xml/spr...}01:27:18,929 [main] DEBUG org.springframework.beans.factory.xml.PluggableSchemaResolver - Found XML schema [http://www.springframework.org/schema/beans/spring-beans.xsd] in classpath: org/springframework/beans/factory/xml/spring-beans-4.1.xsd01:27:18,974 [main] DEBUG org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader - Loading bean definitions01:27:19,011 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'processEngineConfiguration'01:27:19,012 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating instance of bean 'processEngineConfiguration'01:27:19,096 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Eagerly caching bean 'processEngineConfiguration' to allow for resolving potential circular references01:27:19,222 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Finished creating instance of bean 'processEngineConfiguration'01:27:19,660 [main] DEBUG org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl - initializing datasource to db: jdbc:h2:mem:activiti;DB_CLOSE_DELAY=100001:27:19,670 [main] DEBUG org.apache.ibatis.logging.LogFactory - Logging initialized using 'class org.apache.ibatis.logging.slf4j.Slf4jImpl' adapter.01:27:19,673 [main] DEBUG org.apache.ibatis.datasource.pooled.PooledDataSource - PooledDataSource forcefully closed/removed all connections.01:27:19,675 [main] ERROR org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl - Exception while initializing Database connectionjava.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: org.h2.Driver at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.initializeDriver(UnpooledDataSource.java:211) at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:190) at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:186) at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.getConnection(UnpooledDataSource.java:88) at org.apache.ibatis.datasource.pooled.PooledDataSource.popConnection(PooledDataSource.java:373) at org.apache.ibatis.datasource.pooled.PooledDataSource.getConnection(PooledDataSource.java:82) at org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl.initDatabaseType(ProcessEngineConfigurationImpl.java:670) at org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl.initDataSource(ProcessEngineConfigurationImpl.java:621) at org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl.init(ProcessEngineConfigurationImpl.java:454) at org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl.buildProcessEngine(ProcessEngineConfigurationImpl.java:426) at org.activiti.engine.ProcessEngines.buildProcessEngine(ProcessEngines.java:194) at org.activiti.engine.ProcessEngines.initProcessEnginFromResource(ProcessEngines.java:167) at org.activiti.engine.ProcessEngines.init(ProcessEngines.java:98) at org.activiti.engine.ProcessEngines.getProcessEngine(ProcessEngines.java:224) at org.activiti.engine.ProcessEngines.getDefaultProcessEngine(ProcessEngines.java:217) at org.activiti.UnitTest.main(UnitTest.java:18)01:27:20,785 [main] DEBUG org.activiti.engine.impl.interceptor.LogInterceptor - 01:27:20,786 [main] DEBUG org.activiti.engine.impl.interceptor.LogInterceptor - — starting SchemaOperationsProcessEngineBuild ——————————————————–01:27:20,798 [main] DEBUG org.apache.ibatis.transaction.jdbc.JdbcTransaction - Opening JDBC Connection01:27:20,798 [main] DEBUG org.activiti.engine.impl.interceptor.CommandContext - Error while closing command contextorg.activiti.engine.ActivitiException: couldn't check if tables are already present using metadata: ### Error getting a new connection. Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: org.h2.Driver### Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: org.h2.Driver at org.activiti.engine.impl.db.DbSqlSession.isTablePresent(DbSqlSession.java:1195) at org.activiti.engine.impl.db.DbSqlSession.isEngineTablePresent(DbSqlSession.java:1145) at org.activiti.engine.impl.db.DbSqlSession.dbSchemaUpdate(DbSqlSession.java:1078) at org.activiti.engine.impl.db.DbSqlSession.performSchemaOperationsProcessEngineBuild(DbSqlSession.java:1473) at org.activiti.engine.impl.SchemaOperationsProcessEngineBuild.execute(SchemaOperationsProcessEngineBuild.java:25) at org.activiti.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:24) at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:57) at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:37) at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:40) at org.activiti.engine.impl.ProcessEngineImpl.<init>(ProcessEngineImpl.java:77) at org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl.buildProcessEngine(ProcessEngineConfigurationImpl.java:427) at org.activiti.engine.ProcessEngines.buildProcessEngine(ProcessEngines.java:194) at org.activiti.engine.ProcessEngines.initProcessEnginFromResource(ProcessEngines.java:167) at org.activiti.engine.ProcessEngines.init(ProcessEngines.java:98) at org.activiti.engine.ProcessEngines.getProcessEngine(ProcessEngines.java:224) at org.activiti.engine.ProcessEngines.getDefaultProcessEngine(ProcessEngines.java:217) at org.activiti.UnitTest.main(UnitTest.java:18)Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error getting a new connection. Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: org.h2.Driver### Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: org.h2.Driver at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23) at org.apache.ibatis.session.defaults.DefaultSqlSession.getConnection(DefaultSqlSession.java:225) at org.activiti.engine.impl.db.DbSqlSession.isTablePresent(DbSqlSession.java:1163) … 16 moreCaused by: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: org.h2.Driver at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.initializeDriver(UnpooledDataSource.java:211) at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:190) at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:186) at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.getConnection(UnpooledDataSource.java:88) at org.apache.ibatis.datasource.pooled.PooledDataSource.popConnection(PooledDataSource.java:373) at org.apache.ibatis.datasource.pooled.PooledDataSource.getConnection(PooledDataSource.java:82) at org.apache.ibatis.transaction.jdbc.JdbcTransaction.openConnection(JdbcTransaction.java:131) at org.apache.ibatis.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:58) at org.apache.ibatis.session.defaults.DefaultSqlSession.getConnection(DefaultSqlSession.java:223) … 17 more01:27:20,799 [main] DEBUG org.activiti.engine.impl.cfg.standalone.StandaloneMybatisTransactionContext - firing event rolling back…01:27:20,800 [main] DEBUG org.activiti.engine.impl.cfg.standalone.StandaloneMybatisTransactionContext - rolling back ibatis sql session…01:27:20,800 [main] DEBUG org.activiti.engine.impl.cfg.standalone.StandaloneMybatisTransactionContext - firing event rolled back…01:27:20,800 [main] DEBUG org.activiti.engine.impl.interceptor.LogInterceptor - — SchemaOperationsProcessEngineBuild finished ——————————————————–01:27:20,800 [main] DEBUG org.activiti.engine.impl.interceptor.LogInterceptor - 01:27:20,800 [main] ERROR org.activiti.engine.ProcessEngines - Exception while initializing process engine: couldn't check if tables are already present using metadata: ### Error getting a new connection. Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: org.h2.Driver### Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: org.h2.Driverorg.activiti.engine.ActivitiException: couldn't check if tables are already present using metadata: ### Error getting a new connection. Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: org.h2.Driver### Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: org.h2.Driver at org.activiti.engine.impl.db.DbSqlSession.isTablePresent(DbSqlSession.java:1195) at org.activiti.engine.impl.db.DbSqlSession.isEngineTablePresent(DbSqlSession.java:1145) at org.activiti.engine.impl.db.DbSqlSession.dbSchemaUpdate(DbSqlSession.java:1078) at org.activiti.engine.impl.db.DbSqlSession.performSchemaOperationsProcessEngineBuild(DbSqlSession.java:1473) at org.activiti.engine.impl.SchemaOperationsProcessEngineBuild.execute(SchemaOperationsProcessEngineBuild.java:25) at org.activiti.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:24) at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:57) at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:37) at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:40) at org.activiti.engine.impl.ProcessEngineImpl.<init>(ProcessEngineImpl.java:77) at org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl.buildProcessEngine(ProcessEngineConfigurationImpl.java:427) at org.activiti.engine.ProcessEngines.buildProcessEngine(ProcessEngines.java:194) at org.activiti.engine.ProcessEngines.initProcessEnginFromResource(ProcessEngines.java:167) at org.activiti.engine.ProcessEngines.init(ProcessEngines.java:98) at org.activiti.engine.ProcessEngines.getProcessEngine(ProcessEngines.java:224) at org.activiti.engine.ProcessEngines.getDefaultProcessEngine(ProcessEngines.java:217) at org.activiti.UnitTest.main(UnitTest.java:18)Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error getting a new connection. Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: org.h2.Driver### Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: org.h2.Driver at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23) at org.apache.ibatis.session.defaults.DefaultSqlSession.getConnection(DefaultSqlSession.java:225) at org.activiti.engine.impl.db.DbSqlSession.isTablePresent(DbSqlSession.java:1163) … 16 moreCaused by: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: org.h2.Driver at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.initializeDriver(UnpooledDataSource.java:211) at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:190) at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:186) at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.getConnection(UnpooledDataSource.java:88) at org.apache.ibatis.datasource.pooled.PooledDataSource.popConnection(PooledDataSource.java:373) at org.apache.ibatis.datasource.pooled.PooledDataSource.getConnection(PooledDataSource.java:82) at org.apache.ibatis.transaction.jdbc.JdbcTransaction.openConnection(JdbcTransaction.java:131) at org.apache.ibatis.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:58) at org.apache.ibatis.session.defaults.DefaultSqlSession.getConnection(DefaultSqlSession.java:223) … 17 moreEnd of exe!