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

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

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

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

         1)解压文件activiti-eclipse-plugin.zip(下载地址:javascript:void(0))

 

activiti工作流在线编辑 java activiti工作流配置_bc

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

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

activiti工作流在线编辑 java activiti工作流配置_bc_02

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

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

activiti工作流在线编辑 java activiti工作流配置_创建表_03

          

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

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

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

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. "com.mysql.jdbc.Driver");  
14.         processEngineConfiguration  
15. "jdbc:mysql://localhost:3306/itcast0711activiti?useUnicode=true&characterEncoding=utf8");  
16. "root");  
17. "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. "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. "processEngine:" + processEngine);  
45.     }  
46. }</span>

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

 

         activiti.cfg.xml

 

1. <span style="font-size:18px;"><beans xmlns="http://www.springframework.org/schema/beans"  
2. "http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"  
3. "http://www.w3.org/2001/XMLSchema-instance"  
4. //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. "com.mysql.jdbc.Driver");  
12. "jdbc:mysql://localhost:3306/itcast0711activiti?useUnicode=true&characterEncoding=utf8");  
13. "root");                  
14. "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. "processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">  
25. "jdbcDriver" value="com.mysql.jdbc.Driver"></property>  
26. "jdbcUrl" value="jdbc:mysql://localhost:3306/itcast0711activiti?useUnicode=true&characterEncoding=utf8"></property>  
27. "jdbcUsername" value="root"></property>  
28. "jdbcPassword" value="130427"></property>  
29.       
30.         <!-- 没有表创建表 -->  
31. "databaseSchemaUpdate" value="true"></property>  
32.       
33.     </bean>     
34. </beans></span>

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

 

           

activiti工作流在线编辑 java activiti工作流配置_创建表_04

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

         

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