cancel
Showing results for 
Search instead for 
Did you mean: 

Spring roo and Activiti

pacozf
Champ in-the-making
Champ in-the-making
Hi,

I trying to add activiti process Engine to my Spring roo project. I add the maven activiti dependences to my pom.xml


                <dependency>
         <groupId>org.activiti</groupId>
         <artifactId>activiti-engine</artifactId>
         <version>5.19.0.1</version>
      </dependency>
      <dependency>
         <groupId>org.activiti</groupId>
         <artifactId>activiti-spring</artifactId>
         <version>5.19.0.1</version>
      </dependency>



If I use spring version = 3.2.8.RELEASE in my spring dependences, I get this error at compiler time:


SEVERE: StandardWrapper.Throwable java.lang.NoClassDefFoundError: org/springframework/core/OrderComparator$OrderSourceProvider


Then I can resolve it changing the spring-core version to 4.1.1.RELEASE


<dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-core</artifactId>
         <version>4.1.1.RELEASE</version>
         <exclusions>
            <exclusion>
               <groupId>commons-logging</groupId>
               <artifactId>commons-logging</artifactId>
            </exclusion>
         </exclusions>
      </dependency>


This change let me compile and generate the war file, but after deploy it in tomcat y get this error when I render a jsp page with 'form:select' tag:


java.lang.ClassNotFoundException: org.springframework.core.enums.LabeledEnum


I think this error is due spring 4 have not this class, but If I put spring 3 I get the first error ' SEVERE: StandardWrapper.Throwable java.lang.NoClassDefFoundError: org/springframework/core/OrderComparator$OrderSourceProvider'.

How can I integrate Spring roo and activiti in the same project.

Thanks.
6 REPLIES 6

pacozf
Champ in-the-making
Champ in-the-making
Hi, I solve my problem.

It had related with transitive dependence that introduce activiti-spring dependence . I noticed that spring-bean 4 transitive dependence was introduced  by activiti-spring (you can see it with mvn dependency:tree command). My version of Spring Roo use the spring version dependencies 3.2.8.RELEASE. Then I have used dependencyManagement in my pom.xml to force spring-bean 3 version. Finally I have Spring Roo working with Activiti.

This is my pom.xml repository and dependencies:
<code>
<repositories>
  <repository>
   <id>spring-maven-release</id>
   <name>Spring Maven Release Repository</name>
   <url>http://maven.springframework.org/release</url>
  </repository>
  <repository>
   <id>spring-maven-milestone</id>
   <name>Spring Maven Milestone Repository</name>
   <url>http://maven.springframework.org/milestone</url>
  </repository>
  <repository>
   <id>spring-roo-repository</id>
   <name>Spring Roo Repository</name>
   <url>http://spring-roo-repository.springsource.org/release</url>
  </repository>
  <repository>
   <id>Alfresco Maven Repository</id>
   <url>https://maven.alfresco.com/nexus/content/groups/public/</url>
  </repository>
  <repository>
   <id>gvNIX External Libraries repo</id>
   <url>http://repository.gvnix.org</url>
   <name>gvNIX External Libraries repo</name>
  </repository>
</repositories>
<pluginRepositories>
  <pluginRepository>
   <id>spring-maven-release</id>
   <name>Spring Maven Release Repository</name>
   <url>http://maven.springframework.org/release</url>
  </pluginRepository>
  <pluginRepository>
   <id>spring-maven-milestone</id>
   <name>Spring Maven Milestone Repository</name>
   <url>http://maven.springframework.org/milestone</url>
  </pluginRepository>
  <pluginRepository>
   <id>spring-roo-repository</id>
   <name>Spring Roo Repository</name>
   <url>http://spring-roo-repository.springsource.org/release</url>
  </pluginRepository>
</pluginRepositories>
<dependencies>
  <!– Dependencies for Activiti integration –>
   <dependency>
   <groupId>org.activiti</groupId>
   <artifactId>activiti-engine</artifactId>
   <version>5.19.0.1</version>
  </dependency>
  <dependency>
   <groupId>org.activiti</groupId>
   <artifactId>activiti-spring</artifactId>
   <version>5.19.0.1</version>
  </dependency>
   <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-tx</artifactId>
   <version>${spring.version}</version>
  </dependency>

  <!– General dependencies for standard applications –>
  <dependency>
   <groupId>junit</groupId>
   <artifactId>junit</artifactId>
   <version>4.11</version>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>log4j</groupId>
   <artifactId>log4j</artifactId>
   <version>1.2.17</version>
  </dependency>
  <dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-api</artifactId>
   <version>${slf4j.version}</version>
  </dependency>
  <dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>jcl-over-slf4j</artifactId>
   <version>${slf4j.version}</version>
  </dependency>
  <dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-log4j12</artifactId>
   <version>${slf4j.version}</version>
  </dependency>
  <dependency>
   <groupId>org.aspectj</groupId>
   <artifactId>aspectjrt</artifactId>
   <version>${aspectj.version}</version>
  </dependency>
  <dependency>
   <groupId>org.aspectj</groupId>
   <artifactId>aspectjweaver</artifactId>
   <version>${aspectj.version}</version>
  </dependency>
  <dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>servlet-api</artifactId>
   <version>2.5</version>
   <scope>provided</scope>
  </dependency>
  <dependency>
   <groupId>net.sf.flexjson</groupId>
   <artifactId>flexjson</artifactId>
   <version>2.1</version>
  </dependency>
  <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-lang3</artifactId>
   <version>3.1</version>
  </dependency>
  <!– ROO dependencies –>
  <dependency>
   <groupId>org.springframework.roo</groupId>
   <artifactId>org.springframework.roo.annotations</artifactId>
   <version>${roo.version}</version>
   <scope>provided</scope>
  </dependency>
  <!– Spring dependencies –>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-core</artifactId>
   <version>${spring.version}</version>
   <exclusions>
    <exclusion>
     <groupId>commons-logging</groupId>
     <artifactId>commons-logging</artifactId>
    </exclusion>
   </exclusions>
  </dependency>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-test</artifactId>
   <version>${spring.version}</version>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-context</artifactId>
   <version>${spring.version}</version>
  </dependency>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-aop</artifactId>
   <version>${spring.version}</version>
  </dependency>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-aspects</artifactId>
   <version>${spring.version}</version>
  </dependency>
  <dependency>
   <groupId>postgresql</groupId>
   <artifactId>postgresql</artifactId>
   <version>9.1-901-1.jdbc4</version>
  </dependency>
  <dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-core</artifactId>
   <version>4.3.6.Final</version>
  </dependency>
  <dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-entitymanager</artifactId>
   <version>4.3.6.Final</version>
   <exclusions>
    <exclusion>
     <groupId>cglib</groupId>
     <artifactId>cglib</artifactId>
    </exclusion>
    <exclusion>
     <groupId>dom4j</groupId>
     <artifactId>dom4j</artifactId>
    </exclusion>
   </exclusions>
  </dependency>
  <dependency>
   <groupId>org.hibernate.javax.persistence</groupId>
   <artifactId>hibernate-jpa-2.1-api</artifactId>
   <version>1.0.0.Final</version>
  </dependency>
  <dependency>
   <groupId>commons-collections</groupId>
   <artifactId>commons-collections</artifactId>
   <version>3.2.1</version>
  </dependency>
  <dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-validator</artifactId>
   <version>4.3.2.Final</version>
  </dependency>
  <dependency>
   <groupId>javax.validation</groupId>
   <artifactId>validation-api</artifactId>
   <version>1.0.0.GA</version>
  </dependency>
  <dependency>
   <groupId>javax.transaction</groupId>
   <artifactId>jta</artifactId>
   <version>1.1</version>
  </dependency>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-jdbc</artifactId>
   <version>${spring.version}</version>
  </dependency>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-orm</artifactId>
   <version>${spring.version}</version>
  </dependency>
  <dependency>
   <groupId>commons-pool</groupId>
   <artifactId>commons-pool</artifactId>
   <version>1.5.6</version>
  </dependency>
  <dependency>
   <groupId>commons-dbcp</groupId>
   <artifactId>commons-dbcp</artifactId>
   <version>1.4</version>
   <exclusions>
    <exclusion>
     <groupId>commons-logging</groupId>
     <artifactId>commons-logging</artifactId>
    </exclusion>
    <exclusion>
     <groupId>xml-apis</groupId>
     <artifactId>xml-apis</artifactId>
    </exclusion>
   </exclusions>
  </dependency>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-webmvc</artifactId>
   <version>${spring.version}</version>
  </dependency>
  <dependency>
   <groupId>org.springframework.webflow</groupId>
   <artifactId>spring-js-resources</artifactId>
   <version>2.2.1.RELEASE</version>
  </dependency>
  <dependency>
   <groupId>commons-digester</groupId>
   <artifactId>commons-digester</artifactId>
   <version>2.1</version>
   <exclusions>
    <exclusion>
     <groupId>commons-logging</groupId>
     <artifactId>commons-logging</artifactId>
    </exclusion>
   </exclusions>
  </dependency>
  <dependency>
   <groupId>commons-fileupload</groupId>
   <artifactId>commons-fileupload</artifactId>
   <version>1.2.2</version>
  </dependency>
  <dependency>
   <groupId>javax.servlet.jsp.jstl</groupId>
   <artifactId>jstl-api</artifactId>
   <version>1.2</version>
  </dependency>
  <dependency>
   <groupId>org.glassfish.web</groupId>
   <artifactId>jstl-impl</artifactId>
   <version>1.2</version>
  </dependency>
  <dependency>
   <groupId>javax.el</groupId>
   <artifactId>el-api</artifactId>
   <version>2.2</version>
   <scope>provided</scope>
  </dependency>
  <dependency>
   <groupId>joda-time</groupId>
   <artifactId>joda-time</artifactId>
   <version>1.6</version>
  </dependency>
  <dependency>
   <groupId>javax.servlet.jsp</groupId>
   <artifactId>jsp-api</artifactId>
   <version>2.1</version>
   <scope>provided</scope>
  </dependency>
  <dependency>
   <groupId>commons-codec</groupId>
   <artifactId>commons-codec</artifactId>
   <version>1.5</version>
  </dependency>
  <dependency>
   <groupId>org.apache.tiles</groupId>
   <artifactId>tiles-jsp</artifactId>
   <version>2.2.2</version>
  </dependency>
  <dependency>
   <groupId>org.gvnix</groupId>
   <artifactId>org.gvnix.addon.web.mvc.annotations</artifactId>
   <version>1.5.1.RC3</version>
   <scope>provided</scope>
  </dependency>
  <dependency>
   <groupId>org.gvnix</groupId>
   <artifactId>org.gvnix.addon.datatables.annotations</artifactId>
   <version>${gvnix.version}</version>
   <scope>provided</scope>
  </dependency>
  <dependency>
   <groupId>org.gvnix</groupId>
   <artifactId>org.gvnix.datatables.tags</artifactId>
   <version>${gvnix.version}</version>
  </dependency>
  <dependency>
   <groupId>org.gvnix</groupId>
   <artifactId>org.gvnix.web.datatables</artifactId>
   <version>${gvnix.version}</version>
  </dependency>
  <dependency>
   <groupId>com.mysema.querydsl</groupId>
   <artifactId>querydsl-apt</artifactId>
   <version>${querydsl.version}</version>
   <scope>provided</scope>
  </dependency>
  <dependency>
   <groupId>com.mysema.querydsl</groupId>
   <artifactId>querydsl-jpa</artifactId>
   <version>${querydsl.version}</version>
  </dependency>
  <dependency>
   <groupId>org.gvnix</groupId>
   <artifactId>org.gvnix.addon.jpa.annotations</artifactId>
   <version>${gvnix.version}</version>
   <scope>provided</scope>
  </dependency>
  <dependency>
   <groupId>org.gvnix</groupId>
   <artifactId>org.gvnix.web.json.binding</artifactId>
   <version>1.5.1.RC3</version>
  </dependency>
</dependencies>
<dependencyManagement>
     <dependencies>
   <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>${spring.version}</version>
   </dependency>
  </dependencies>
</dependencyManagement>
</code>

and my applicationContext.xml:
<code>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd         http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
  
    <contextSmiley Tongueroperty-placeholder location="classpath*:META-INF/spring/*.properties"/>
   
    <context:spring-configured/>
  
    <context:component-scan base-package="es.siiingenieros.hmps">
        <context:exclude-filter expression=".*_Roo_.*" type="regex"/>
        <context:exclude-filter expression="org.springframework.stereotype.Controller" type="annotation"/>
    </context:component-scan>
    <bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" id="dataSource">
        <property name="driverClassName" value="${database.driverClassName}"/>
        <property name="url" value="${database.url}"/>
        <property name="username" value="${database.username}"/>
        <property name="password" value="${database.password}"/>
        <property name="testOnBorrow" value="true"/>
        <property name="testOnReturn" value="true"/>
        <property name="testWhileIdle" value="true"/>
        <property name="timeBetweenEvictionRunsMillis" value="1800000"/>
        <property name="numTestsPerEvictionRun" value="3"/>
        <property name="minEvictableIdleTimeMillis" value="1800000"/>
        <property name="validationQuery" value="SELECT version();"/>
    </bean>
    <bean class="org.springframework.orm.jpa.JpaTransactionManager" id="transactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory"/>
    </bean>
    <tx:annotation-driven mode="aspectj" transaction-manager="transactionManager"/>
    <bean class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" id="entityManagerFactory">
        <property name="persistenceUnitName" value="persistenceUnit"/>
        <property name="dataSource" ref="dataSource"/>
    </bean>
    <!– Activiti configuration –>
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
  <property name="dataSource" ref="dataSource" />
  <property name="databaseSchemaUpdate" value="true" />
  <property name="transactionManager" ref="transactionManager" />
  <property name="jpaHandleTransaction" value="false" />
  <property name="jpaCloseEntityManager" value="false" />
  <property name="jobExecutorActivate" value="false" />
</bean>
<bean id="processEngine" class="org.activiti.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>
</code>

Note that activiti database and my own app database are the same.

vasile_dirla
Star Contributor
Star Contributor
Hi,
yes you are right about the cause:
spring-core v3 have this class but spring-core v4 does NOT have it.

you changed the version of spring-core but I'm not sure you changed also the version of other spring modules:
<code>
       <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>4.1.1.RELEASE</version>
        </dependency>
      
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.1.1.RELEASE</version>
        </dependency>
</code>

pacozf
Champ in-the-making
Champ in-the-making
Yes , I tried to change all spring dependencies to 4.1.1.RELEASE, but then when the app render a jsp with a 'form:select' tag, I get the error java.lang.ClassNotFoundException: org.springframework.core.enums.LabeledEnum, maybe because spring 4 don't support LabeledEnum.
Thanks.

pacozf
Champ in-the-making
Champ in-the-making
The problem was that activiti-spring dependence have spring-bean 4 dependency. I solved the problem force spring-bean to version 3 with:
<code>
<dependencyManagement>
     <dependencies>
   <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>${spring.version}</version>
   </dependency>
  </dependencies>
</dependencyManagement>
</code>

spring.version = 3.2.8.RELEASE

vasile_dirla
Star Contributor
Star Contributor
Hmm, can you provide a simple application where I can see this issue in action ?

pacozf
Champ in-the-making
Champ in-the-making
You can create a simple web application with Spring Roo and then insert maven activiti dependences.
Now, I have working Spring Roo and Activiti.

This is my pom.xml repository and dependences:

<code>
<repositories>
  <repository>
   <id>spring-maven-release</id>
   <name>Spring Maven Release Repository</name>
   <url>http://maven.springframework.org/release</url>
  </repository>
  <repository>
   <id>spring-maven-milestone</id>
   <name>Spring Maven Milestone Repository</name>
   <url>http://maven.springframework.org/milestone</url>
  </repository>
  <repository>
   <id>spring-roo-repository</id>
   <name>Spring Roo Repository</name>
   <url>http://spring-roo-repository.springsource.org/release</url>
  </repository>
  <repository>
   <id>Alfresco Maven Repository</id>
   <url>https://maven.alfresco.com/nexus/content/groups/public/</url>
  </repository>
  <repository>
   <id>gvNIX External Libraries repo</id>
   <url>http://repository.gvnix.org</url>
   <name>gvNIX External Libraries repo</name>
  </repository>
</repositories>
<pluginRepositories>
  <pluginRepository>
   <id>spring-maven-release</id>
   <name>Spring Maven Release Repository</name>
   <url>http://maven.springframework.org/release</url>
  </pluginRepository>
  <pluginRepository>
   <id>spring-maven-milestone</id>
   <name>Spring Maven Milestone Repository</name>
   <url>http://maven.springframework.org/milestone</url>
  </pluginRepository>
  <pluginRepository>
   <id>spring-roo-repository</id>
   <name>Spring Roo Repository</name>
   <url>http://spring-roo-repository.springsource.org/release</url>
  </pluginRepository>
</pluginRepositories>
<dependencies>
  <!– Dependencies for Activiti integration –>
   <dependency>
   <groupId>org.activiti</groupId>
   <artifactId>activiti-engine</artifactId>
   <version>5.19.0.1</version>
  </dependency>
  <dependency>
   <groupId>org.activiti</groupId>
   <artifactId>activiti-spring</artifactId>
   <version>5.19.0.1</version>
  </dependency>
   <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-tx</artifactId>
   <version>${spring.version}</version>
  </dependency>

  <!– General dependencies for standard applications –>
  <dependency>
   <groupId>junit</groupId>
   <artifactId>junit</artifactId>
   <version>4.11</version>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>log4j</groupId>
   <artifactId>log4j</artifactId>
   <version>1.2.17</version>
  </dependency>
  <dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-api</artifactId>
   <version>${slf4j.version}</version>
  </dependency>
  <dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>jcl-over-slf4j</artifactId>
   <version>${slf4j.version}</version>
  </dependency>
  <dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-log4j12</artifactId>
   <version>${slf4j.version}</version>
  </dependency>
  <dependency>
   <groupId>org.aspectj</groupId>
   <artifactId>aspectjrt</artifactId>
   <version>${aspectj.version}</version>
  </dependency>
  <dependency>
   <groupId>org.aspectj</groupId>
   <artifactId>aspectjweaver</artifactId>
   <version>${aspectj.version}</version>
  </dependency>
  <dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>servlet-api</artifactId>
   <version>2.5</version>
   <scope>provided</scope>
  </dependency>
  <dependency>
   <groupId>net.sf.flexjson</groupId>
   <artifactId>flexjson</artifactId>
   <version>2.1</version>
  </dependency>
  <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-lang3</artifactId>
   <version>3.1</version>
  </dependency>
  <!– ROO dependencies –>
  <dependency>
   <groupId>org.springframework.roo</groupId>
   <artifactId>org.springframework.roo.annotations</artifactId>
   <version>${roo.version}</version>
   <scope>provided</scope>
  </dependency>
  <!– Spring dependencies –>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-core</artifactId>
   <version>${spring.version}</version>
   <exclusions>
    <exclusion>
     <groupId>commons-logging</groupId>
     <artifactId>commons-logging</artifactId>
    </exclusion>
   </exclusions>
  </dependency>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-test</artifactId>
   <version>${spring.version}</version>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-context</artifactId>
   <version>${spring.version}</version>
  </dependency>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-aop</artifactId>
   <version>${spring.version}</version>
  </dependency>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-aspects</artifactId>
   <version>${spring.version}</version>
  </dependency>
  <dependency>
   <groupId>postgresql</groupId>
   <artifactId>postgresql</artifactId>
   <version>9.1-901-1.jdbc4</version>
  </dependency>
  <dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-core</artifactId>
   <version>4.3.6.Final</version>
  </dependency>
  <dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-entitymanager</artifactId>
   <version>4.3.6.Final</version>
   <exclusions>
    <exclusion>
     <groupId>cglib</groupId>
     <artifactId>cglib</artifactId>
    </exclusion>
    <exclusion>
     <groupId>dom4j</groupId>
     <artifactId>dom4j</artifactId>
    </exclusion>
   </exclusions>
  </dependency>
  <dependency>
   <groupId>org.hibernate.javax.persistence</groupId>
   <artifactId>hibernate-jpa-2.1-api</artifactId>
   <version>1.0.0.Final</version>
  </dependency>
  <dependency>
   <groupId>commons-collections</groupId>
   <artifactId>commons-collections</artifactId>
   <version>3.2.1</version>
  </dependency>
  <dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-validator</artifactId>
   <version>4.3.2.Final</version>
  </dependency>
  <dependency>
   <groupId>javax.validation</groupId>
   <artifactId>validation-api</artifactId>
   <version>1.0.0.GA</version>
  </dependency>
  <dependency>
   <groupId>javax.transaction</groupId>
   <artifactId>jta</artifactId>
   <version>1.1</version>
  </dependency>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-jdbc</artifactId>
   <version>${spring.version}</version>
  </dependency>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-orm</artifactId>
   <version>${spring.version}</version>
  </dependency>
  <dependency>
   <groupId>commons-pool</groupId>
   <artifactId>commons-pool</artifactId>
   <version>1.5.6</version>
  </dependency>
  <dependency>
   <groupId>commons-dbcp</groupId>
   <artifactId>commons-dbcp</artifactId>
   <version>1.4</version>
   <exclusions>
    <exclusion>
     <groupId>commons-logging</groupId>
     <artifactId>commons-logging</artifactId>
    </exclusion>
    <exclusion>
     <groupId>xml-apis</groupId>
     <artifactId>xml-apis</artifactId>
    </exclusion>
   </exclusions>
  </dependency>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-webmvc</artifactId>
   <version>${spring.version}</version>
  </dependency>
  <dependency>
   <groupId>org.springframework.webflow</groupId>
   <artifactId>spring-js-resources</artifactId>
   <version>2.2.1.RELEASE</version>
  </dependency>
  <dependency>
   <groupId>commons-digester</groupId>
   <artifactId>commons-digester</artifactId>
   <version>2.1</version>
   <exclusions>
    <exclusion>
     <groupId>commons-logging</groupId>
     <artifactId>commons-logging</artifactId>
    </exclusion>
   </exclusions>
  </dependency>
  <dependency>
   <groupId>commons-fileupload</groupId>
   <artifactId>commons-fileupload</artifactId>
   <version>1.2.2</version>
  </dependency>
  <dependency>
   <groupId>javax.servlet.jsp.jstl</groupId>
   <artifactId>jstl-api</artifactId>
   <version>1.2</version>
  </dependency>
  <dependency>
   <groupId>org.glassfish.web</groupId>
   <artifactId>jstl-impl</artifactId>
   <version>1.2</version>
  </dependency>
  <dependency>
   <groupId>javax.el</groupId>
   <artifactId>el-api</artifactId>
   <version>2.2</version>
   <scope>provided</scope>
  </dependency>
  <dependency>
   <groupId>joda-time</groupId>
   <artifactId>joda-time</artifactId>
   <version>1.6</version>
  </dependency>
  <dependency>
   <groupId>javax.servlet.jsp</groupId>
   <artifactId>jsp-api</artifactId>
   <version>2.1</version>
   <scope>provided</scope>
  </dependency>
  <dependency>
   <groupId>commons-codec</groupId>
   <artifactId>commons-codec</artifactId>
   <version>1.5</version>
  </dependency>
  <dependency>
   <groupId>org.apache.tiles</groupId>
   <artifactId>tiles-jsp</artifactId>
   <version>2.2.2</version>
  </dependency>
  <dependency>
   <groupId>org.gvnix</groupId>
   <artifactId>org.gvnix.addon.web.mvc.annotations</artifactId>
   <version>1.5.1.RC3</version>
   <scope>provided</scope>
  </dependency>
  <dependency>
   <groupId>org.gvnix</groupId>
   <artifactId>org.gvnix.addon.datatables.annotations</artifactId>
   <version>${gvnix.version}</version>
   <scope>provided</scope>
  </dependency>
  <dependency>
   <groupId>org.gvnix</groupId>
   <artifactId>org.gvnix.datatables.tags</artifactId>
   <version>${gvnix.version}</version>
  </dependency>
  <dependency>
   <groupId>org.gvnix</groupId>
   <artifactId>org.gvnix.web.datatables</artifactId>
   <version>${gvnix.version}</version>
  </dependency>
  <dependency>
   <groupId>com.mysema.querydsl</groupId>
   <artifactId>querydsl-apt</artifactId>
   <version>${querydsl.version}</version>
   <scope>provided</scope>
  </dependency>
  <dependency>
   <groupId>com.mysema.querydsl</groupId>
   <artifactId>querydsl-jpa</artifactId>
   <version>${querydsl.version}</version>
  </dependency>
  <dependency>
   <groupId>org.gvnix</groupId>
   <artifactId>org.gvnix.addon.jpa.annotations</artifactId>
   <version>${gvnix.version}</version>
   <scope>provided</scope>
  </dependency>
  <dependency>
   <groupId>org.gvnix</groupId>
   <artifactId>org.gvnix.web.json.binding</artifactId>
   <version>1.5.1.RC3</version>
  </dependency>
</dependencies>
<dependencyManagement>
     <dependencies>
   <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>${spring.version}</version>
   </dependency>
  </dependencies>
</dependencyManagement>
</code>

and this is my applicationContext.xml
<code>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd         http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
  
    <contextSmiley Tongueroperty-placeholder location="classpath*:META-INF/spring/*.properties"/>
   
    <context:spring-configured/>
   
    <context:component-scan base-package="es.siiingenieros.hmps">
        <context:exclude-filter expression=".*_Roo_.*" type="regex"/>
        <context:exclude-filter expression="org.springframework.stereotype.Controller" type="annotation"/>
    </context:component-scan>
    <bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" id="dataSource">
        <property name="driverClassName" value="${database.driverClassName}"/>
        <property name="url" value="${database.url}"/>
        <property name="username" value="${database.username}"/>
        <property name="password" value="${database.password}"/>
        <property name="testOnBorrow" value="true"/>
        <property name="testOnReturn" value="true"/>
        <property name="testWhileIdle" value="true"/>
        <property name="timeBetweenEvictionRunsMillis" value="1800000"/>
        <property name="numTestsPerEvictionRun" value="3"/>
        <property name="minEvictableIdleTimeMillis" value="1800000"/>
        <property name="validationQuery" value="SELECT version();"/>
    </bean>
    <bean class="org.springframework.orm.jpa.JpaTransactionManager" id="transactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory"/>
    </bean>
    <tx:annotation-driven mode="aspectj" transaction-manager="transactionManager"/>
    <bean class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" id="entityManagerFactory">
        <property name="persistenceUnitName" value="persistenceUnit"/>
        <property name="dataSource" ref="dataSource"/>
    </bean>
    <!– Activiti configuration –>
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
  <property name="dataSource" ref="dataSource" />
  <property name="databaseSchemaUpdate" value="true" />
  <property name="transactionManager" ref="transactionManager" />
  <property name="jpaHandleTransaction" value="false" />
  <property name="jpaCloseEntityManager" value="false" />
  <property name="jobExecutorActivate" value="false" />
</bean>
<bean id="processEngine" class="org.activiti.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>

</code>

Note that application database is the same for my app and activiti.