流程引擎(ProcessEngine)创建时,虽然可以在代码中直接指定其类型,但一般都是通过加载资源文件、Spring解析来决定其类型。其在Spring中的activiti-context.xml中的配置如下:
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration"/>
以上采用的是基于内存的流程引擎配置,默认为H2内存数据库和databaseSchemaUpdate=create-drop。
使用默认的H2内存数据库时其完整配置如下:
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration">
<property name="jdbcUrl" value="jdbc:h2:mem:activiti;DB_CLOSE_DELAY=1000;MVCC=TRUE" />
<property name="jdbcDriver" value="org.h2.Driver" />
<property name="jdbcUsername" value="sa" />
<property name="jdbcPassword" value="" />
</bean>-->
上面的class可有三个常用选择:
org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration: 独立流程引擎配置。
org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration: 基于内存的流程引擎配置,设置了默认的jdbcUrl和databaseSchemaUpdate。
org.activiti.spring.SpringProcessEngineConfiguration: Spring的流程引擎配置,重新定义了事务管理器、初始化JPA、设置数据库。
采用独立流程引擎配置,可使用个人自定义的数据库配置,建议配置上数据源(DataSource)
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name="dataSource" ref="dataSource"/>
<property name="databaseSchemaUpdate" value="create-drop" />
</bean>
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="url" value="jdbc:mysql://localhost:3306/activiti6?useUnicode=true&characterEncoding=utf-8&useSSL=false"/>
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
<property name="initialSize" value="3"/>
<property name="maxActive" value="10"/>
<property name="filters" value="stat,slf4j"/>
</bean>