工作流activiti技术的研究和学习记录第一天

activiti需要的环境:

1)   JDK1.6或者更高版本

2)   支持的数据库有:h2, mysql, oracle, postgres, mssql, db2等。

3)   支持activiti5运行的jar包

4)   开发环境为Eclipse3.7或者以上版本,myeclipse为8.6版本

activiti可以到Activiti官方网站下载得到

http://activiti.org/download.html

http://zipin168.com

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

安装方式一(安装步骤流程请看附件)

1)             打开 Help -> Install New Software. 在如下面板中:



2)                     在如下Install界面板中,点击Add按钮:



            配置新装插件的地址和名称



3)             然后填入下列字段

Name: Activiti BPMN 2.0 designer

Location: http://activiti.org/designer/update/



4)             回到Install界面,在面板正中列表中把所有展示出来的项目都勾上:



5)             点击复选框

在Detail部分记得选中 "Contact all updates sites.." , 因为它会检查所有当前安装所需要的插件并可以被Eclipse下载.



6)             安装完以后,点击新建工程new->Other…打开面板,如果看到下图内容:



           说明安装成功了。

准备Activiti5开发环境

添加Activiti5的jar包:

在activiti-5.13->wars目录下是一些示例项目,解压activiti-rest项目,导入activiti-rest目录中WEB-INF\lib下所有包。添加到classpath中。



由于我们使用的是Mysql数据库,Mysql数据库的链接驱动Activiti官方包中并没有提供,需要我们自己导入。手动导入mysql-connector-java.jar,添加到classpath

初始化数据库

/**使用代码创建工作流需要的23张表*/
@Test
public void createTable(){
  ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
  //连接数据库的配置
  processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");
  processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/itcastactiviti?useUnicode=true&characterEncoding=utf8");
  processEngineConfiguration.setJdbcUsername("root");
  processEngineConfiguration.setJdbcPassword("root");
  /**
    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);
  //工作流的核心对象,ProcessEnginee对象
  ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
  System.out.println("processEngine:"+processEngine);
}
在Activiti中,在创建核心的流程引擎对象时会自动建表。如果程序正常执行,mysql会自动建库,然后创建23张表

添加并制定配置文件
在Actiiti5中定制流程必定会操作到数据库,如果都像上面那样写一大段代码会非常麻烦,所以我们可以把数据库连接配置写入配置文件。
在Activiti5的官方示例中并没有现成的配置文件,所以先得找到activiti-rest\WEB-INF\classes下有:
activiti-context.xml
一个类似spring结构的配置文件,清空内容后改名为activiti.cfg.xml,用来做流程引擎的相关配置。
按照上面代码配置ProcessEngineConfiguration对象,主要定义数据库的连接配置和建表策略,配置文件代码如下:
<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.xsd
    http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-2.5.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
    <!-- 配置外部数据库连接信息-->
<!-- <context:property-placeholder location="classpath:db.properties"/> -->
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name="jdbcUrl" value="jdbc:mysql:///itcastactiviti?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=utf8" />
<property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
<property name="jdbcUsername" value="root" />
<property name="jdbcPassword" value="root" />
<!-- 建表策略 -->
<property name="databaseSchemaUpdate" value="true"></property>
</bean>
</beans>

Java代码如下:
@Test
public void createTable_2(){
// ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
// //工作流的核心对象,ProcessEnginee对象
// ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();

ProcessEngine processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml")
.buildProcessEngine();
System.out.println("processEngine:"+processEngine);
}

createProcessEngineConfigurationFromResource的参数值为我们添加的配置文件activiti.cfg.xml的名称,执行java代码,流程引擎对象创建成功运行后数据库会自动建表。

你可能感兴趣的:(工作,activiti学习记录第一天)