原 工作流activiti入门(四):流程引擎配置

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&amp;useUnicode=true&amp;allowMultiQueries=true&amp;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;
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值