activiti的基础环境搭建创建数据库表及策略

博主使用为activiti5.22的版本。

1、创建maven工程。

2、在pom文件中引入所需要的包,如:activiti包、数据库包。

这是我引用的包:

<dependencies>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring</artifactId>
<version>5.22.0</version>
</dependency>

<!-- <dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency> -->

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.2</version>
</dependency>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.34</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>5.22.0</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5-pre10</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.1.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.1.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.1.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.1.8.RELEASE</version>
</dependency>
<dependency>
<groupId>com.googlecode.ehcache-spring-annotations</groupId>
<artifactId>ehcache-spring-annotations</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>jsr250-api</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.1.5.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>
</dependencies>

引入pom文件完毕之后,在maven的resources下新建activiti.cfg.xml文件,配置数据源及引擎类。后期与spring框架结合使用,记得把此xml文件引入到spring中。

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="url" value="jdbc:mysql://localhost:3306/activiti"></property>
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>

<bean id="processEngineConfiguration"
class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name="dataSource" ref="dataSource"></property>
</bean>

下面是流程引擎配置类的几种创建方式,

  @Test
    public void createDataTable(){
        ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
        processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");
        processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/activiti");
        processEngineConfiguration.setJdbcUsername("root");
        processEngineConfiguration.setJdbcPassword("root");
        /**
         * true:如果不存在表就创建,存在就直接使用。(默认使用该策略,真实项目不推荐使用,如果目前使用较低版本,贸然引入了更高的版本后,
         * 上线之后,就会导致activiti数据库环境升级版本,可能造成线上部分表无法使用。顺便一提:activiti的版本只能向上升级,无法降级处理)
         * false:流程引擎启动的时候,不会创建表,如果不存在就报错,存在就直接使用。(建议使用)
         * create-drop:每次都是创建表,然后删除表,需要手动调用引擎类的close方法(更不建议使用)
         */
//        processEngineConfiguration.setDatabaseSchemaUpdate("true");
//        processEngineConfiguration.setDatabaseSchemaUpdate("false");
        processEngineConfiguration.setDatabaseSchemaUpdate("create-drop");
        ProcessEngine buildProcessEngine = processEngineConfiguration.buildProcessEngine();
//        buildProcessEngine.close();
        System.out.println(buildProcessEngine);
    }
/**
     * 配置文件的方式创建 (流方式一)
     */
    @Test
    public void createTabale1(){
        InputStream inputStream=App.class.getClassLoader().getResourceAsStream("activiti.cfg.xml");
        ProcessEngineConfiguration processEngineConfigurationFromInputStream = ProcessEngineConfiguration.
                createProcessEngineConfigurationFromInputStream(inputStream);
        ProcessEngine processEngine = processEngineConfigurationFromInputStream.buildProcessEngine();
        System.out.println(processEngine);
    }

    /**
     * 配置文件的方式创建 (流方式二)
     * 第一种方式是调用第二种方式的源码
     */
    @Test
    public void createTabale2(){
        InputStream inputStream=App.class.getClassLoader().getResourceAsStream("activiti.cfg.xml");
        ProcessEngineConfiguration processEngineConfigurationFromInputStream = ProcessEngineConfiguration.createProcessEngineConfigurationFromInputStream(inputStream, "processEngineConfiguration");
        ProcessEngine processEngine = processEngineConfigurationFromInputStream.buildProcessEngine();
        System.out.println(processEngine);
    }
    /**
     * 配置文件的方式创建 (资源方式一)
     * 第一种方式是调用第二种方式的源码
     */
    @Test
    public void createTabale3(){
        String resource="activiti.cfg.xml";
        ProcessEngineConfiguration processEngineConfigurationFromResource = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(resource);
        ProcessEngine buildProcessEngine = processEngineConfigurationFromResource.buildProcessEngine();
        System.out.println(buildProcessEngine);
    }

    /**
     * 配置文件的方式创建 (资源方式二)
     * 第一种方式是调用第二种方式的源码
     */
    @Test
    public void createTabale4(){
        String resource="activiti.cfg.xml";
        ProcessEngineConfiguration processEngineConfigurationFromResource = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(resource,"processEngineConfiguration");
        ProcessEngine buildProcessEngine = processEngineConfigurationFromResource.buildProcessEngine();
        System.out.println(buildProcessEngine);
    }

    /**
     * 默认的方式创建 (资源方式一)
     * 通过文件的位置:activiti.cfg.xml。此处我的文件位置是在resources下
     */
    @Test
    public void createTabale5(){
        ProcessEngineConfiguration processEngineConfigurationFromResource = ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault();
        ProcessEngine buildProcessEngine = processEngineConfigurationFromResource.buildProcessEngine();
        System.out.println(buildProcessEngine);
    }

运行后大家会发现数据库多了二十几张表,都是activiti自己的表结构,没错吧。后期与实际业务结合的时候,可根据需求再自定义表与之结合即可。

后续会补上aciviti的表结构详解,尽请期待!

原文地址:https://www.cnblogs.com/shijianhenjinpo/p/8988267.html

时间: 2024-08-04 19:07:43

activiti的基础环境搭建创建数据库表及策略的相关文章

【原】Spring activiti 环境搭建之数据库创建

由于在开发工作流的时候,避免不了要保存一些数据和流程走向;所以在搭建Spring activiti开发环境的时候需要把官方提供的23张表创建到我们的DB,后续的流程都会在这些表中记录. 1.创建代码如下: @Test public void createactivityTable(){ ProcessEngineConfiguration p = ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration(

S2SH开发环境搭建、框架整合、项目基础环境搭建

S2SH开发环境搭建.框架整合.项目基础环境搭建 1.S2SH框架整合 新建项目s2sh: 1.1添加jar包 1.1.1添加Struts的jar包 添加如下的jar包: commons-fileupload-1.2.2.jar commons-io-2.0.1.jar freemarker-2.3.19.jar ognl-3.0.5.jar struts2-core-2.3.4.1.jar xwork-core-2.3.4.1.jar 疑惑:这些jar可以从哪里获得呢? 对于一个框架来说,别人

luffy-city 基础环境搭建(至轮播图前后台交互实现)-步骤目录

前后台基础环境搭建 以 luffy-city 的主页为例,打通了轮播图的前后台交互 前言:复习-luffy 项目技术点概括 pip 源配置 python 虚拟环境搭建 luffy 后台配置-项目创建-基本插件安装-目录重构-开发环境配置文件配置(dev.prod)-日志配置 luffy 后台配置-项目环境变量 配置-logger自定义封装与使用-异常模块封装-Response二次封装 创建数据库并分配用户权限 创建应用(app)与用户-配置 media 静态资源接口 vue 环境配置-项目创建-

Grails 基础环境搭建及HelloWorld

Grails 基础环境搭建及HelloWorld Grails的介绍: Grails 为您提供 Rails 风格的开发体验,同时以可靠的 Java 技术作为坚强后盾. 但是 Grails 不仅仅是 Rails 通往 Java 平台的简单入口.Grails 吸取了 Rails 的经验,并将它们与现代 Java 开发的意识相结合. 可以认为 Grails 是受 Rails 启发,而不是由 Rails 转化而来. Groovy 的威力 就像 Rails 与 Ruby 编程语言联系非常紧密一样,Grai

IOS开发基础环境搭建

一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包:          百度网盘:链接:http://pan.baidu.com/s/1c28EkpE 密码:93tl 解压后如下,点击如下脚本进行安装:按提示进行: 服务配置(按需配置): 这里仅限配置网络功能即可:选择1 回车-选择桥接模式 选择2启用桥接服务 三.安装macos虚拟机 注意:查看本机cup类型

Spark入门实战系列--2.Spark编译与部署(上)--基础环境搭建

[注] 1.该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取: 2.Spark编译与部署将以CentOS 64位操作系统为基础,主要是考虑到实际应用一般使用64位操作系统,内容分为三部分:基础环境搭建.Hadoop编译安装和Spark编译安装,该环境作为后续实验基础: 3.文章演示了Hadoop.Spark的编译过程,同时附属资源提供了编译好的安装包,觉得编译费时间可以直接使用这些编译好的安装包进行部署. 1.运行环境说明 1.1 硬软件环境 l  主机

创建数据库表就是这么简单

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博客地址为http://www.cnblogs.com/jasonnode/.网站上有对应每一小节的在线练习大家可以去试试.更多课程请参考网站. 创建数据库 我们先创建一个属于自己的数据库,如下: create database test; 至于这句话表示什么意思,又有什么固定的语法,我们后面介绍. 创建数据库表 创建了数据库,接下来我们创建一个表,我们的数据操作都是针对表来的,例如: cre

(一)Hyperledger Fabric 1.1安装部署-基础环境搭建

在学习和开发hyperledger fabric的时候遇到了一些坑,现将自己的一些总结和心得整理如下,以期对大家有所帮助.本次使用的宿主机环境:ubuntu,版本:Ubuntu 16.04.3 LTS.运行hyperledger fabric,建议至少4GB的内存. 更改aptget源:初装ubuntu的Aptget源很慢,国内提供的源有很多,可以找一个适合自己的,我采用的是阿里的源.更改aptget阿里源的方法:1 复制原文件备份 sudo cp /etc/apt/sources.list /

Linux虚拟机上Hadoop基础环境搭建

1 主要步骤 配置网络 修改主机名 关闭防火墙 关闭SELinux 安装jdk 增加hadoop用户 配置ssh信任 配置hadoop 集群部署规划 5台服务器, 一个主节点:nn1.hadoop, master (HA) 一个从节点:nn2.hadoop,slave 三个工作节点: s1.hadoop.s2.hadoop.s3.hadoop (work1     work2    work3) nn1.hadoop 机器作为操作机. whoami ifconfig 在实际生产里还应有操作机(跳