Activiti工作流数据表初始化

一、Activiti工作demo支行

1.下载activiti-explorer.war

2.部署到tomact的webapps中

3.启动tomact,在浏览器地址中键入:http://localhost:8080/activiti-explorer,以用户名kermit密码kermit登录进去

如图:


Activiti工作流数据表初始化_第1张图片
 二、初始化Activiti工作数据表

Activiti用来存放流程数据共使用23张表,表名都是"ACT_"开头,底层操作默认使用mybatis操作

工作流Activiti的表是使用用来存储流程数据的,而业务的数据需要用户自己创建和维护

在使用Activiti一定需要业务去关联流程。

1.使用代码创建Activiti工作流23张表

 

/**使用代码创建工作流需要的23张表*/
	@Test
	public void createTable() {
		ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration
				.createStandaloneProcessEngineConfiguration();
		//连接数据库的配置
		//配置数据库驱动:对应不同数据库类型的驱动
		processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");
		//配置数据库的JDBC URL
		processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/activiti?useUnicode=true&characterEncoding=utf8");
		//配置连接数据库的用户名
		processEngineConfiguration.setJdbcUsername("root");
		//配置连接数据库的密码
		processEngineConfiguration.setJdbcPassword("root");
		/**
	 		public static final String DB_SCHEMA_UPDATE_FALSE = "false";不能自动创建表,需要表存在
			public static final String DB_SCHEMA_UPDATE_CREATE_DROP = "create-drop";先删除表再创建表
			public static final String DB_SCHEMA_UPDATE_TRUE = "true";如果表不存在,自动创建表
	  */
		processEngineConfiguration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
		//工作流的核心对象,ProcessEnginee对象
		ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
		System.out.println("processEngine:"+processEngine);
	}

 2.使用配置文件创建工作流需要的23张表

 

/**使用配置文件创建工作流需要的23张表*/
	@Test
	public void createTable_2(){
		ProcessEngine processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml")	
									.buildProcessEngine();
		System.out.println("processEngine:"+processEngine);
	}

activiti.cfg.xmlactiviti的配置文件)

Activiti核心配置文件,配置流程引擎创建工具的基本参数和数据库连接池参数。

定义数据库配置参数:

jdbcUrl数据库的JDBC URL

jdbcDriver对应不同数据库类型的驱动。

jdbcUsername连接数据库的用户名。

jdbcPassword连接数据库的密码。

基于JDBC参数配置的数据库连接 会使用默认的MyBatis连接池。 下面的参数可以用来配置连接池(来自MyBatis参数):

jdbcMaxActiveConnections连接池中处于被使用状态的连接的最大值。默认为10

jdbcMaxIdleConnections连接池中处于空闲状态的连接的最大值。

jdbcMaxCheckoutTime连接被取出使用的最长时间,超过时间会被强制回收。 默认为2000020秒)。

jdbcMaxWaitTime这是一个底层配置,让连接池可以在长时间无法获得连接时, 打印一条日志,并重新尝试获取一个连接。(避免因为错误配置导致沉默的操作失败)。 默认为2000020秒)。

<!--EndFragment-->

    示例数据库配置参数:

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
	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
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
	<!-- 
		ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
		//连接数据库的配置
		processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");
		processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/itcast0711activiti?useUnicode=true&characterEncoding=utf8");
		processEngineConfiguration.setJdbcUsername("root");
		processEngineConfiguration.setJdbcPassword("root");
		
		/**
		 	public static final String DB_SCHEMA_UPDATE_FALSE = "false";不能自动创建表,需要表存在
  			public static final String DB_SCHEMA_UPDATE_CREATE_DROP = "create-drop";先删除表再创建表
  			public static final String DB_SCHEMA_UPDATE_TRUE = "true";如果表不存在,自动创建表
		 */
		processEngineConfiguration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
	 -->
	<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
		<!-- 连接数据的配置 -->
		<property name="jdbcDriver" value="com.mysql.jdbc.Driver"></property>
		<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activiti?useUnicode=true&amp;characterEncoding=utf8"></property>
		<property name="jdbcUsername" value="root"></property>
		<property name="jdbcPassword" value="root"></property>
		<!-- 没有表创建表 -->
		<property name="databaseSchemaUpdate" value="true"></property>
	</bean>
</beans>

 

 

 

你可能感兴趣的:(工作流,Activiti工作流,ProcessEngine,Acttiviti)