zoukankan      html  css  js  c++  java
  • 转--- Activiti工作流的环境配置

    继上篇《Activiti工作流简介》

            在上篇中,对Activiti工作流进行了介绍。在本篇继续给大家介绍如何进行Activiti工作流的环境配置,不多说,直接上干货,参考我的来配置。。

            一、activiti 软件环境

            Eclipse, jdk1.8.0_66, Tomcat 7.0, mysql数据库。

            二、安装流程设计器(eclipse插件)

            有两种方法,有网络的和无网络。

            有网络的情况经过个人实验,安装时间相当长,最后直接放弃。咱们来看一下无网络情况下安装步骤。

             1)解压文件activiti-eclipse-plugin.zip(下载地址:http://download.csdn.net/detail/u013037201/9620362)

             2)把压缩包中的内容放入eclipse根目录的dropins文件夹下

             3)重启eclipse,点击新建工程new->Other。

     

              如果看到以上红框中的内容,说明安装成功了!

             三、对流程设计器的使用说明

              打开菜单Windows->Preferences->Activiti->Save Action下流程流程图片的生成方式:

            打上勾后Activiti画图工具会在流程文件保存时自动生成一张流程图片。

            四、添加jar包

            其中包括Activiti的,spring的以及mysql数据库连接等jar包。

              

              五、初始化数据库

                 建库命令:create database itcast0711activiti default character set utf8;

            在Activiti中,在创建核心的流程引擎对象时会自动创建表。如果程序正常执行,mysql会自动建库,然后创建23张表。

            以下是两种创建表的方式。

    [java] view plain copy
     
    1. <span style="font-size:18px;">package junit;  
    2.   
    3. import org.activiti.engine.ProcessEngine;  
    4. import org.activiti.engine.ProcessEngineConfiguration;  
    5. import org.junit.Test;  
    6.   
    7. public class TestActiviti {  
    8.     /** 使用代码创建工作流 需要的23张表 */  
    9.     @Test  
    10.     public void createTable() {  
    11.         ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration  
    12.                 .createStandaloneProcessEngineConfiguration();  
    13.         processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");  
    14.         processEngineConfiguration  
    15.                 .setJdbcUrl("jdbc:mysql://localhost:3306/itcast0711activiti?useUnicode=true&characterEncoding=utf8");  
    16.         processEngineConfiguration.setJdbcUsername("root");  
    17.         processEngineConfiguration.setJdbcPassword("130427");  
    18.         /* 
    19.          * public static final String DB_SCHEMA_UPDATE_FALSE = "false"; 
    20.          * 不能自动创建表,需要表存在 public static final String DB_SCHEMA_UPDATE_CREATE_DROP 
    21.          * = "create-drop";先删除表再创建表 public static final String 
    22.          * DB_SCHEMA_UPDATE_TRUE = "true";如果表不存在,自动创建表 
    23.          */  
    24.   
    25.         processEngineConfiguration  
    26.                 .setDatabaseSchemaUpdate(processEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);  
    27.         // 工作流的核心对象,ProcessEngine对象  
    28.         ProcessEngine processEngine = processEngineConfiguration  
    29.                 .buildProcessEngine();  
    30.         System.out.println("processEngine:" + processEngine);  
    31.   
    32.     }  
    33.   
    34.     /** 使用配置文件创建工作流需要的23张表 */  
    35.     @Test  
    36.     public void creteTable_2() {  
    37.         // ProcessEngineConfiguration processEngineConfiguration =  
    38.         // ProcessEngineConfiguration  
    39.         // .createProcessEngineConfigurationFromResource("activiti.cfg.xml");  
    40.         // 工作流的核心对象,ProcessEngine对象  
    41.         ProcessEngine processEngine = ProcessEngineConfiguration  
    42.                 .createProcessEngineConfigurationFromResource(  
    43.                         "activiti.cfg.xml").buildProcessEngine();  
    44.         System.out.println("processEngine:" + processEngine);  
    45.     }  
    46. }</span>  


             从上面代码中可以分析出,像上面写一大堆代码操作数据库非常麻烦,第二种很好地解决了这个问题。它把数据库连接配置写入了配置文件。

             activiti.cfg.xml

    [java] view plain copy
     
    1. <span style="font-size:18px;"><beans xmlns="http://www.springframework.org/schema/beans"  
    2.     xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"  
    3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    4.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd  
    5. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd  
    6. http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">  
    7.   
    8.     <!--   
    9.         ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();  
    10.         //连接数据库的配置  
    11.         processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");  
    12.         processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/itcast0711activiti?useUnicode=true&characterEncoding=utf8");  
    13.         processEngineConfiguration.setJdbcUsername("root");                  
    14.         processEngineConfiguration.setJdbcPassword("130427");  
    15.           
    16.         /* 
    17.             public static final String DB_SCHEMA_UPDATE_FALSE = "false"; 不能自动创建表,需要表存在 
    18.             public static final String DB_SCHEMA_UPDATE_CREATE_DROP = "create-drop";先删除表再创建表 
    19.             public static final String DB_SCHEMA_UPDATE_TRUE = "true";如果表不存在,自动创建表 
    20.         */  
    21.           
    22.         processEngineConfiguration.setDatabaseSchemaUpdate(processEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);  
    23.      -->  
    24.     <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">  
    25.         <property name="jdbcDriver" value="com.mysql.jdbc.Driver"></property>  
    26.         <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/itcast0711activiti?useUnicode=true&characterEncoding=utf8"></property>  
    27.         <property name="jdbcUsername" value="root"></property>  
    28.         <property name="jdbcPassword" value="130427"></property>  
    29.       
    30.         <!-- 没有表创建表 -->  
    31.         <property name="databaseSchemaUpdate" value="true"></property>  
    32.       
    33.     </bean>     
    34. </beans></span>  

              我们执行单元测试,流程引擎对象创建成功运行后数据库会自动建表。效果如下:

               

              六、log4j.properties 日志配置文件

            用日志来显示信息和错误,在代码调试中起了很大的作用,系统必备。

             

            看了这些后,对Activiti工作流框架的环境配置就熟悉了很多。在后面会为大家展示一个小例子,在实践中掌握Activiti的用法。

  • 相关阅读:
    初始化webpack项目
    GCN 实现3 :代码解析
    GCN实现3
    GCN 简单numpy实现
    GCN python 实现2:利用GCN进行节点分类
    GCN
    Transformer —— attention is all you need
    多任务学习Multi-task-learning MTL
    两个概念:CCA和LDA
    Transfer learning
  • 原文地址:https://www.cnblogs.com/lyf906522290/p/8708354.html
Copyright © 2011-2022 走看看