activity工作流学习笔记之(一)——23张表的建立

原创 2016年05月31日 21:35:36

最近在自学activity工作流,先说说学习之前得部署开发环境。eclipse开发工具就不用说了,开发环境一方面就是下载一个avtivity插件,插件的安装可以通过eclipse在线安装和离线安装,网上关于这个的资料也很多,在此就不过多赘述;开发环境另一方面就是建立工作流需要用到的23张表,通过网上查资料各种学习以后,知道建立23张工作流的方法有三种:运行官网下载的sql文件、代码建表以及xml配置文件配合代码建表。下面就将建表的三种方式于此,分享给想开始学习工作流的人,同时也可以供复习之用。

一、运行sql文件建表:

       关于工作流需要的23张表,官网下载的资料中有源码sql文件,在activiti-5.20.0/database/create文件件夹下,根据你自己用的数据库,运行对应的sql文件,例如我用的是mysql数据库,直接运行命令运行activiti.mysql.create.*.sql即可。不过我在刚学的时候用了这种方式,运行sql文件的时候老是报存在语法错误,我也没去改他的源码,后来放弃的这种建表方式。

二、java代码建表:

@Test
public void createProcessEnginerTable() {
        ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
        //连接数据库配置
	processEngineConfiguration.setJdbcDriver("org.gjt.mm.mysql.Driver");
	processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/activity?useUnicode=true&characterEncoding=utf8");
	processEngineConfiguration.setJdbcUsername("root");
	processEngineConfiguration.setJdbcPassword("ROOT");
	processEngineConfiguration.setDatabaseSchemaUpdate(processEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
	//工作流核心对象
	ProcessEngine porcessEngine = processEngineConfiguration.buildProcessEngine();
	System.out.println("porcessEngine="+porcessEngine);
}

首先获取流程引擎配置对象:
ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
用于配置连接数据库以及建表的一些参数:

//连接数据库配置
processEngineConfiguration.setJdbcDriver("org.gjt.mm.mysql.Driver");
processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/activity?useUnicode=true&characterEncoding=utf8");
processEngineConfiguration.setJdbcUsername("root");
processEngineConfiguration.setJdbcPassword("ROOT");
//设置建表参数,源代码中有一默认静态常量为true,如果数据库存在23张表时,该参数设置为false
processEngineConfiguration.setDatabaseSchemaUpdate(processEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);

这里需要说明的是,activity源码中默认配置数据库的参数是h2的,如果你用的是其他数据,需要向上面代码一样进行配置,配置时记得导入对应的驱动jar包。

//源码配置参数
protected String jdbcDriver = "org.h2.Driver";
protected String jdbcUrl = "jdbc:h2:tcp://localhost/~/activiti";
protected String jdbcUsername = "sa";
protected String jdbcPassword = "";

最后一步就是建表,获取流程引擎对象,我们可以输出一下对象,如果控制台输出了这样语句:porcessEngine=org.activiti.engine.impl.ProcessEngineImpl@7dfd3c81证明建表成功:

ProcessEngine porcessEngine = processEngineConfiguration.buildProcessEngine();
System.out.println("porcessEngine="+porcessEngine);

三、xml配置文件及java代码建表:

首先通过xml文件,通过bean创建对象,设置相应的参数:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
  xmlns:jee="http://www.springframework.org/schema/jee" xmlns:aop="http://www.springframework.org/schema/aop"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
       http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
       
    <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
        <property name="jdbcDriver" value="org.gjt.mm.mysql.Driver"/>
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activity?useUnicode=true&characterEncoding=utf8"/>
        <property name="jdbcUsername" value="root"/>
        <property name="jdbcPassword" value="ROOT"/>
        <property name="databaseSchemaUpdate" value="true"/>  
    </bean>
</beans>
然后直接读取配置文件建表获取流程引擎核心对象ProcessEngine,同样输出一下对象,如果控制台输出了这样语句:porcessEngine=org.activiti.engine.impl.ProcessEngineImpl@7dfd3c81证明建表成功:

//创表获取流程引擎核心对象
ProcessEngine porcessEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml").buildProcessEngine();
System.out.println("porcessEngine="+porcessEngine);
至此,activity工作流所需要的23张表就建好了,数据库环境部署完毕,其他环境也部署完毕后,我们就可以进行开发工作了。


      

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

activiti工作流数据库表详细介绍(23张表)

Activiti的后台是有数据库的支持,所有的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。 ACT_RE_*: 'RE'表示repositor...

工作流23张表的含义

Activiti的后台是有数据库的支持,所有的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。 ACT_RE_*: 'RE'表示repositor...

Activiti工作流数据库表详细介绍(23张表)

Activiti的后台是有数据库的支持,所有的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。 ACT_RE_*: 'RE'表示reposit...

《疯狂Workflow讲义——基于Activiti的工作流应用开发》学习笔记之一·环境搭建之编码问题

在对activiti有了一定了解之后,开始按《疯狂Workflow讲义——基于Activiti的工作流应用开发》中的步骤搭建环境,新建项目,创建resource文件夹,使用第2张的First.bpmn...

工作流学习笔记

Activiti工作流开发学习笔记(一)

第一章 Activiti介绍 1.1 工作流介绍 工作流(Workflow)是对工作流程及其各操作步骤之间业务规则的抽象、概括和描述。 工作流解决的主要问题是:为实现某个业务目标,在多个参与者之间,利...

工作流jBPM-jPDL学习笔记

  • 2009-07-11 13:44
  • 813KB
  • 下载

Activiti学习笔记一 工作流基本概念

最近刚接触流程引擎这一概念,对Activiti进行学习,感觉正在入门中,整理下自己的学习笔记把! 1:工作流的概念         工作流(Workflow),就是“业务过程的部分或整体在计算机应用环...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)