1、创建ProcessEngineConfiguration类方式
// 以默认方式创建ProcessEngineConfiguration
ProcessEngineConfiguration config = ProcessEngineConfiguration
.createProcessEngineConfigurationFromResourceDefault();
// 指定配置文件创建ProcessEngineConfiguration
config = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
// 指定配置文件和配置名称创建ProcessEngineConfiguration
config = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml",
"processEngineConfiguration");
/*
* 使用CreateStandaloneProcessEngineConfiguration方法创建ProcessEngineConfiguration
* 注意:此方法创建的ProcessEngineConfiguration不读取配置文件的信息,需要自己手动设置相关的属性
*/
config = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
/*
* 使用createStandaloneInMemProcessEngineConfiguration方法创建ProcessEngineConfiguration
* 注意:此方法创建的ProcessEngineConfiguration不读取配置文件的信息,需要自己手动设置相关的属性
*/
config = ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration();
// 使用createProcessEngineConfigurationFromInputStream方法创建ProcessEngineConfiguration
InputStream is = CreateConfig.class.getClassLoader().getResourceAsStream("activiti.cfg.xml");// 得到文件输入流
config = ProcessEngineConfiguration.createProcessEngineConfigurationFromInputStream(is,
"processEngineConfiguration");
2、数据源的配置
以配置文件的方式设置数据源:activiti.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<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 -->
<bean id="processEngineConfiguration"
class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name="dataSource" ref="dataSource" />
<property name="databaseSchemaUpdate" value="true" />
</bean>
<!-- 配置druid数据源 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/spring-activiti?characterEncoding=utf8&useUnicode=true&allowMultiQueries=true&useSSL=true" />
<property name="username" value="root" />
<property name="password" value="123456" />
</bean>
</beans>
以编码的方式设置数据源
ProcessEngineConfiguration config = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
// 创建C3P0数据源
DruidDataSource ds = new DruidDataSource();
// 设置JDBC连接的各个属性
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql://192.168.3.5:3306/spring-activiti?useUnicode=true&allowMultiQueries=true&useSSL=true");
ds.setUsername("root");
ds.setPassword("123456");
// 验证是否连接成功
ds.getConnection().getMetaData();
// 为ProcessEngineConfiguration设置dataSource属性
config.setDataSource(ds);
3、配置数据库表的策略
false(default):对比数据库表中保存的版本,没有或版本不对,则抛异常
true:对数据库中所有的表进行更新,不存在会自动创建
create-drop:启动时,创建数据库表;关闭时,删除数据库表
drop-create:启动时会对数据库表先删除在创建
3、邮件服务器配置
<property name="mailServerHost" value="smtp.163.com"></property>
<property name="mailServerPort" value="25"></property>
<property name="mailServerDefaultFrom" value="0123456789yu@163.com"></property>
<property name="mailServerUsername" value="1234567890yu@163.com"></property>
<property name="mailServerPassword" value="123456yu"></property>
4、自定义ProcessEngineConfiguration
package com.wedu.workflow.config;
import org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl;
import org.activiti.engine.impl.interceptor.CommandInterceptor;
/**
* @description 自定义ProcessEngineConfiguration
* @version Java_workflow V1.0
* @date 2019-07-27 17:45:58
* @author Yu
*/
public class MyProcessEngineConfiguration extends ProcessEngineConfigurationImpl {
// 测试属性,需要在processEngineConfiguration注入
private String username;
public MyProcessEngineConfiguration() {
// 做自定义设置
}
public void setUsername(String username) {
this.username = username;
}
public String getUsername() {
return this.username;
}
@Override
public CommandInterceptor createTransactionInterceptor() {
return null;
}
}