1.使用maven创建Demo
<dependencies>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>6.0.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.6</version>
</dependency>
</dependencies>
2.创建ProcessEngine,生成默认数据库表结构
方式一:
/**
* 方式一:通过set设置属性
* void
*/
public void getProcessEngino() {
ProcessEngineConfiguration pec = new StandaloneProcessEngineConfiguration()
.setJdbcUrl("jdbc:mysql://localhost:3306/db_activiti?useSSL=false&characterEncoding=utf8&serverTimezone=UTC")
.setJdbcUsername("root")
.setJdbcPassword("123456")
.setJdbcDriver("com.mysql.cj.jdbc.Driver")
.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
ProcessEngine pe = pec.buildProcessEngine();
}
方式二:
/**
* 方式二:通过XML配置文件设置属性
* void
*/
public void getProcessEnginoWithXML() {
ProcessEngineConfiguration cfg = ProcessEngineConfiguration
.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
ProcessEngine processEngine = cfg.buildProcessEngine();
//使用默认方式获取
//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:mysql://localhost:3306/db_activiti?useSSL=false&characterEncoding=utf8&serverTimezone=UTC" />
<property name="jdbcDriver" value="com.mysql.cj.jdbc.Driver" />
<property name="jdbcUsername" value="root" />
<property name="jdbcPassword" value="123456" />
<property name="databaseSchemaUpdate" value="true" />
<!-- <property name="asyncExecutorActivate" value="false" />
<property name="mailServerHost" value="mail.my-corp.com" />
<property name="mailServerPort" value="5025" /> -->
</bean>
</beans>
表结构:
xml基本配置:
<property name="jdbcUrl" value="" />
<property name="jdbcDriver" value="" />
<property name="jdbcUsername" value="" />
<property name="jdbcPassword" value="" />
其他属性:
databaseSchemaUpdate
设置数据库更新模式,有三种false
,true
,create-drop
false
在创建流程时检查数据库是否对应,不对应会抛出异常,默认是false
true
在创建流程时检查数据库是否对应,并在需要更新是执行更新
create-drop
创建流程引擎时创建模式,并在流程引擎关闭时删除模式
databaseType
设置数据库类型,支持的属性值有:{h2, mysql, oracle, postgres, mssql, db2}
使用数据库连接池:
1.配置dataSource
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" >
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/activiti" />
<property name="username" value="" />
<property name="password" value="" />
<property name="defaultAutoCommit" value="false" />
</bean>
2.引用:
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name="dataSource" ref="dataSource" />
</bean>
3.可选择的属性:
jdbcMaxActiveConnections
: 最大存活的连接数,默认是10。
jdbcMaxIdleConnections
:最大空闲连接数.
jdbcMaxCheckoutTime
: 连接被取出使用的最长时间,超过时间会被强制回收默认20秒.
jdbcMaxWaitTime
: 设置链接最大等待时间,连接池可以在长时间无法获得连接时, 打印一条日志,并重新尝试获取连接,默认20秒.