Activiti工作流(二):开发环境配置

Activiti工作流(2):开发环境配置

1.配置Activiti开发环境

activiti5 软件环境

1)  JDK1.6或者更高版本

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

3)  支持activiti5运行的jar包

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


相关资源下载

1)            JDK可以到sun的官网下载

http://www.oracle.com/technetwork/java/javase/downloads/index.html

2)            数据库,例如:mysql可以在官网上下载。

http://www.mysql.com

3)            activiti也可以到Activiti官方网站下载得到。

http://activiti.org/download.html

4)   Eclipse3.7或者MyEclipse8.6也可以到相应的网站上获得下载。


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

安装方式一:

有网络的情况下,安装流程设计器步骤如下:

打开 Help -> Install NewSoftware。


在Install界面板中,点击Add按钮:配置新装插件的地址和名称。


然后填入下列字段
Name: Activiti BPMN 2.0 designer
Location: http://activiti.org/designer/update/

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


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


安装完以后,点击新建工程new->Other…打开面板,如果看到Activiti文件夹选择说明安装成功了。

安装方式二:

没有网络的情况下,安装流程设计器步骤如下:

1)            去百度搜索activiti eclipse插件下载解压

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

3)            重启eclipse,点击新建工程new->Other…打开面板,如果看到Activiti文件夹选择说明安装成功了。


安装完成之后,记住去eclipse配置去看看自动生成流程图片的复选框是否勾上:

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

选中create process definition image when saving the diagram

作用:虽然流程引擎在单独部署bpmn文件时会自动生成图片,但在实际开发过程中,自动生成的图片会导致和BPMN中的坐标有出入,在实际项目中展示流程当前位置图会有问题。

所以完成以上配置后,会由我们自己来管理流程图片。在发布流程时把流程规则文件和流程图片一起上传就行了。


添加Activiti5的jar包
在activiti-5.13->wars目录下是一些示例项目,解压activiti-rest项目,导入activiti-rest目录中WEB-INF\lib下所有包。添加到classpath中。
由于我使用的是Mysql数据库,Mysql数据库的链接驱动Activiti官方包中并没有提供,需要我们自己导入。手动导入mysql-connector-java.jar,添加到classpath下。


初始化数据库

方法一:执行sql脚本文件activiti-5.13\database\create\activiti.mysql.create.*.sql文件

方法二:使用代码:

@Test
public void createTable() {
//1.创建Activiti配置对象的实例
ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
//2.设置数据库连接信息
// 设置数据库地址
configuration.setJdbcUrl("jdbc:mysql://localhost:3306/testactiviti?createDatabaseIfNotExist&useUnicode=true&characterEncoding=utf8");
// 数据库驱动
configuration.setJdbcDriver("com.mysql.jdbc.Driver");
// 用户名
configuration.setJdbcUsername("root");
// 密码
configuration.setJdbcPassword("root");
// 设置数据库建表策略
/**
 * DB_SCHEMA_UPDATE_TRUE:如果不存在表就创建表,存在就直接使用
 * DB_SCHEMA_UPDATE_FALSE:如果不存在表就抛出异常
 * DB_SCHEMA_UPDATE_CREATE_DROP:每次都先删除表,再创建新的表
 */
configuration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
//3.使用配置对象创建流程引擎实例(检查数据库连接等环境信息是否正确)
ProcessEngine processEngine = configuration.buildProcessEngine();
System.out.println(processEngine);
}

方法三:使用配置文件:在类路径下创建activiti.cfg.xml

<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">
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
    <!-- 数据库连接配置 -->
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/testactiviti?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf8"></property>
<property name="jdbcDriver" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUsername" value="root"></property>
<property name="jdbcPassword" value="root"></property>
<!-- 建表策略 -->
<property name="databaseSchemaUpdate" value="true"></property>
</bean>
</beans><span style="color:#ff3300;">
</span>

@Test
public void testDBByProperties() throws Exception {
// 1。 加载classpath下名为activiti.cfg.xml文件,创建核心流程引擎对象
ProcessEngine processEngine =ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml").buildProcessEngine();
System.out.println(processEngine);
}

(上述ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml")可以改成ProcessEngines.getDefaultProcessEngine(),

因为默认的配置文件名就叫

activiti.cfg.xml,配置文件要放在resource文件夹下面。)


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


至此初始化环境完成。。

第二篇完结。

  • 邮箱:


版权声明:本文为博主原创文章,未经博主允许不得转载。