Activiti工作流的环境配置

分享一下我老师大神的人工智能教程吧。零基础,通俗易懂!风趣幽默!http://www.captainbed.net/

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

继上篇《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张表。

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

<span style="font-size:18px;">package junit;import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEngineConfiguration;import org.junit.Test;public class TestActiviti /** 使用代码创建工作流 需要的23张表 */ @Test public void createTable() {  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("130427");  /*   * 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);  // 工作流的核心对象,ProcessEngine对象  ProcessEngine processEngine = processEngineConfiguration    .buildProcessEngine();  System.out.println("processEngine:" + processEngine); } /** 使用配置文件创建工作流需要的23张表 */ @Test public void creteTable_2() {  // ProcessEngineConfiguration processEngineConfiguration =  // ProcessEngineConfiguration  // .createProcessEngineConfigurationFromResource("activiti.cfg.xml");  // 工作流的核心对象,ProcessEngine对象  ProcessEngine processEngine = ProcessEngineConfiguration    .createProcessEngineConfigurationFromResource(      "activiti.cfg.xml").buildProcessEngine();  System.out.println("processEngine:" + processEngine); }}</span>

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

         activiti.cfg.xml

<span style="font-size:18px;"><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.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsdhttp://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("130427");    /*   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/itcast0711activiti?useUnicode=true&characterEncoding=utf8"></property>  <property name="jdbcUsername" value="root"></property>  <property name="jdbcPassword" value="130427"></property>   <!-- 没有表创建表 -->  <property name="databaseSchemaUpdate" value="true"></property>  </bean> </beans></span>
          我们执行单元测试,流程引擎对象创建成功运行后数据库会自动建表。效果如下:

          

          六、log4j.properties 日志配置文件

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

        

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

               

         

           

给我老师的人工智能教程打call!http://www.captainbed.net/

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_43725037/article/details/84297988