Activiti开发环境的配置

作者:光仔December 时间:2021-07-31 21:57:51 

一、准备环境

1.activiti软件环境

1)JDK1.6或者更高版本;

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

3)支持activiti5运行的jar包;

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

2.相关资源下载

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

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

3)activiti也可以到Activiti官网下载;

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

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

1.安装方式一

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

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

Activiti开发环境的配置 

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

Activiti开发环境的配置

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

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

Activiti开发环境的配置

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

Activiti开发环境的配置

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

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

Activiti开发环境的配置

说明安装成功了。

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

1)下载插件的jar包,下载地址:activiti-eclispe-plugin.rar

1)解压此jar包;

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

Activiti开发环境的配置

Activiti开发环境的配置

3)重启eclipse,点击新建工程new->Other…打开面板,如果看到下图内容:

Activiti开发环境的配置

说明安装成功了。

三、对流程设计器的使用说明

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

Activiti开发环境的配置

虽然流程引擎在单独部署bpmn文件时会自动生成图片,但在实际开发过程中,自动生成的图片会导致和BPMN中的坐标有出入,在实际项目中展示流程当前位置图会有问题。所在完成以上配置后,会由我们自己来管理流程图片。在发布流程时把流程规则文件和流程图片一起上传就行了。

四、准备Activiti5开发环境

4.0.创建一个Activiti工程

Activiti开发环境的配置

Activiti开发环境的配置

Activiti开发环境的配置

点击Finish完成创建

创建成功的项目:

Activiti开发环境的配置

我们的项目目前是Maven结构,里面有pom.xml资源配置。业务类写在src/main/java下,相应的资源文件放置在src/main/resources下。同理,测试的业务类在src/test/java下,相应的测试资源文件放置在src/test/resources下。

我们新建一个lib文件夹,来放置一会我们即将要加的jar包。

Activiti开发环境的配置

4.1.添加Activiti5的jar包

需要添加以下jar包:

Activiti开发环境的配置

Activiti开发环境的配置

下载地址:activitirest(jb51.net).rar  (样例工程的WEB-INF/lib文件夹下有所有jar) 我们需要导入lib下所有包。添加到classpath中。

Activiti开发环境的配置

Activiti开发环境的配置

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

4.2初始化数据库

我们在src/test/java下新建一个junit包,在该包下创建一个java类,名为TestActiviti:

Activiti开发环境的配置

内容:


package junit;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;
import org.junit.Test;

public class TestActiviti {
/**使用代码创建工作流需要的23张表*/
@Test
public void createTable(){
//流程引擎ProcessEngine对象,所有操作都离不开引擎对象
ProcessEngineConfiguration processEngineConfiguration =
 ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration();
//连接数据库的配置
processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");
processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/zhucoder2017?useUnicode=true&characterEncoding=utf8");
processEngineConfiguration.setJdbcUsername("root");
processEngineConfiguration.setJdbcPassword("1234");

//三个配置
//1.先删除表,再创建表:processEngineConfiguration.DB_SCHEMA_UPDATE_CREATE_DROP="create-drop"
//2.不能自动创建表,需要表存在:processEngineConfiguration.DB_SCHEMA_UPDATE_FALSE="false"
//3.如果表存在,就自动创建表:processEngineConfiguration.DB_SCHEMA_UPDATE_TRUE="true"
processEngineConfiguration.setDatabaseSchema(processEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
//获取工作流的核心对象,ProcessEngine对象
ProcessEngine processEngine=processEngineConfiguration.buildProcessEngine();
System.out.println("processEngine:"+processEngine+"Create Success!!");
}
}

上面的类先是获取ProcessEngineConfiguration工作流引擎配置对象,来进行些数据库参数的配置,然后使用配置对象创建工作流的核心对象ProcessEngine对象,使用核心引擎对象创建工作流需要的23张表。

可以看到我们上面创建了ProcessEngineConfiguration配置类,其中配置了数据库的链接数据,那么我们也要创建相应的数据库。安装好Mysql后,打开我们的Mysql的图形化管理工具,这里我使用的是sqlyog:

Activiti开发环境的配置

打开之后,我们创建相应的数据库(和上面链接类中的数据库名称相同即可):

Activiti开发环境的配置

别忘记在lib中加入mysql的jdbc驱动jar包,然后添加到classpath中:

mysql-connector-java-5.1.10-bin.jar

运行刚刚我们的测试类,等待一会后,就会发现工作流核心引擎创建成功:

Activiti开发环境的配置

这就意味着我们的工作流需要的23张表已经创建成功,我们去sqlyog去看,发现确实生成了:

Activiti开发环境的配置

此时,准备Activiti的环境除了配置文件外,已经全部准备完毕。

来源:https://blog.csdn.net/acmman/article/details/56843865

标签:activiti,环境配置
0
投稿

猜你喜欢

  • PullToRefreshListView实现多条目加载上拉刷新和下拉加载

    2022-07-21 02:26:01
  • spring 中事务注解@Transactional与trycatch的使用

    2022-08-28 18:26:07
  • SpringBoot2整合Ehcache组件实现轻量级缓存管理

    2022-06-18 18:11:16
  • C#算法之罗马数字转整数

    2022-05-25 16:20:26
  • flutter中的资源和图片加载示例详解

    2023-08-24 13:19:39
  • Android抓取CSDN首页极客头条内容完整实例

    2023-06-09 17:01:16
  • Flutter 图片开发核心技能快速掌握教程

    2023-08-16 22:01:51
  • JAVA实现的简单万年历代码

    2021-10-02 21:35:34
  • Java编程实现统计一个字符串中各个字符出现次数的方法

    2023-01-24 18:02:20
  • Flutter网络请求的3种简单实现方法

    2023-06-21 10:53:22
  • Spring整合Quartz实现动态定时器的示例代码

    2022-10-22 06:48:17
  • 基于Java实现获取本地IP地址和主机名

    2023-03-19 04:03:55
  • SpringBoot-Admin实现微服务监控+健康检查+钉钉告警

    2021-12-23 02:40:22
  • 关于Java虚拟机HotSpot

    2022-10-28 18:36:01
  • Spring注解@DependsOn解析

    2022-01-11 08:20:35
  • 使用Deflate算法对文件进行压缩与解压缩的方法详解

    2022-01-27 09:48:49
  • 关于Struts2文件上传与自定义拦截器

    2021-10-31 12:52:44
  • 用Java程序判断是否是闰年的简单实例

    2022-10-13 23:04:30
  • C++中求余运算符(%)示例详解

    2023-11-02 14:20:39
  • Android编程实现拍照功能的2种方法分析

    2023-10-16 19:02:25
  • asp之家 软件编程 m.aspxhome.com