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

时间:2014-11-12 04:18:13

标签: tomcat h2 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=""/>

  1. 我的项目类路径中有一个applicationContext.xml:

                                 

  2. 我在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"/>
    

    尽管如此,从未创建过活动表。我在H2控制台上看不到它们。 这是正确的方法,我是否遗漏了任何其他xml文件?

2 个答案:

答案 0 :(得分:0)

Meghana,

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

希望这会有所帮助。 Greg Harley - BP3

答案 1 :(得分:0)

确保您正在阅读代码中的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>