J'ai l'intention de créer un "workflow" en utilisant l'outil Activiti. Je veux l'utiliser avec une base de données "standalone" parce que au bout du compte, je veux l'addresser avec des services REST.

Bien qu j'aie mis le jar contenant le driveur de la base de données correctement, l'engin (processEngine) est toujours null si je veux le créer de facon suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

Avec le code ci-dessous, j'ai vérifié qu'il y'y a pas de problèmes avec la connexion avec la base de données -

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.sql.*;
 
		import org.activiti.engine.ProcessEngine;
		import org.activiti.engine.ProcessEngines;
		public class Main {
		    public static void main(String[] a)
		            throws Exception {
		        Class.forName("org.h2.Driver");
		        Connection conn = DriverManager.
		            getConnection("jdbc:h2:~/test", "sa", "");
 
 
		       System.out.println(conn.toString());
 
		        // add application code here
		        conn.close();
		    }
		}
conn n'est pas zéro, et l'objet conn peut être crée sans problèmes.

Voici ma configuration dans le fichier activiti.cfg.xml:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="UTF-8"?>
	<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:~/test;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="mailServerHost" value="mail.my-corp.com" /> 
	    <property name="mailServerPort" value="5025" />
	  </bean>
 
	</beans>

Dans le fichier war que j'ai dans mon fichier webapps du Tomcat, j'ai mis cette configuration:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
 db=h2
jdbc.driver=org.h2.Driver
jdbc.url=jdbc:h2:~/test;
DB_CLOSE_DELAY=1000
jdbc.username=sa
jdbc.password=
Je n'ai aucune idée pourquoi le processEngin est quand même null.