Tomcat 未在自定义应用程序中创建Activiti数据库表

Tomcat 未在自定义应用程序中创建Activiti数据库表,tomcat,h2,activiti,Tomcat,H2,Activiti,我目前正在开发一个activiti原型,在这个原型中,我将activiti流程添加到一个现有的JavaEE动态web项目中 原型的全部要点是访问activiti的数据库,主要是他们的ACT_RU表,并添加我们自己的表,该表使用流程实例ID作为外键 根据我所读到的内容,activiti数据库表是在启动流程流时创建的 以下是我迄今为止所做的: 1.activiti cfg.jar具有activiti.cfg文件: <bean id="processEngineConfiguration" cl

我目前正在开发一个activiti原型,在这个原型中,我将activiti流程添加到一个现有的JavaEE动态web项目中

原型的全部要点是访问activiti的数据库,主要是他们的ACT_RU表,并添加我们自己的表,该表使用流程实例ID作为外键

根据我所读到的内容,activiti数据库表是在启动流程流时创建的

以下是我迄今为止所做的: 1.activiti cfg.jar具有activiti.cfg文件:

<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">

<property name="databaseType" value="h2" />
<property name="databaseSchemaUpdate" value="true" />
<property name="jdbcUrl" value="jdbc:h2:~/test/db/activiti" />
<property name="jdbcDriver" value="org.h2.Driver" />
<property name="jdbcUsername" value="sa" />
<property name="jdbcPassword" value=""/>
我的项目类路径中有一个applicationContext.xml:

我在tomcat中添加了一个数据源,如下所示:

<Resource name="jdbc/H2DB" auth="Container" type="javax.sql.DataSource"
       maxActive="100" maxIdle="30" maxWait="10000"
       username="sa" password="" driverClassName="org.h2.Driver"
       url="jdbc:h2:~/test/db/activiti"/>
尽管如此,activiti表从未创建过。我在H2控制台上看不到它们。 这是正确的方法吗?我是否缺少任何其他xml文件

梅加娜

确保将数据库创建属性databaseSchemaUpdate设置为true或create drop。否则,将不会自动创建表

希望这有帮助。
Greg Harley-BP3

确保您正在读取代码中的XML文件:

ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); 
这是我的XML文件:

<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="mailServerHost" value="mail.my-corp.com" />
<property name="mailServerPort" value="5025" />
</bean>
</beans>
以下是我的POM文件的一部分:

<properties>
    <activiti-version>5.10</activiti-version>
    <spring-version>3.1.0.RELEASE</spring-version>
    <cxf-version>2.4.4</cxf-version>
    <drools-version>5.3.0.Final</drools-version>
</properties>

我在JBOSS上尝试了类似的JNDI查找设置。现在正在创建表