Activiti工作流(二):开发环境配置
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文件夹下面。)至此初始化环境完成。。
第二篇完结。
- 邮箱:
版权声明:本文为博主原创文章,未经博主允许不得转载。