Activiti实战02_环境搭建
1:下载Activiti
访问:https://www.activiti.org/download-bpm 可以下载Activiti相关文档和历史版本压缩包,在 https://www.activiti.org/javadocs/6.latest/ 中可以查看Activiti的相关接口文档。
2:Javadocs
作为程序员都知道,官方的才是正宗的,才是唯一出处。javadocs就是开发人员和Activiti交流的“语言”。所以在Activiti的Javadocs中一共包含11个package
| 包名 |
作用 |
| org.activiti.engine |
包含上一篇提到的七大引擎接口、异常类定义和流程引擎(ProcessEngine) 及流程引擎配置(Process Engine Configuration),另外还定义了一些运行时 (Runtime)异常类 |
| org.activiti.engine.delegate |
该包定义了处理流程的行为、监听事件的规范。在实际应用中可以在流程定义中 配置实现了监听接口的类处理业务逻辑。 |
| org.activiti.engine.form |
该包应用在内置表单的场景下,在一些企业或客户自定义表单的需求中使用。 定义表单的两种方式: 第一种:直接在流程定义中设置每个节点的表单内容,可以设置每个字段(Field) 的类型,是否可编辑等属性 第二种:外置表单形式,通过formkey指定外置表单文件的名称,类型可以是.xml 或 .form表单的读取、提交均可以通过FormService接口完成。 |
| org.activiti.engine.history |
该包包含了历史记录查询对象及查询结果的历史数据对象接口。 可以查询以下数据: 历史流程实例(HistoricProcessInstance) 历史任务(HistoricTask) 历史活动(HistoricActivity) 历史详细(HistoricDetail) |
| org.activiti.engine.identity |
该包可以用来管理身份和认证,功能依托IdentityService接口。在Activiti中有 自己的Identify模块 |
| org.activiti.engine.management |
该包主要用来实现针对流程引擎的管理功能,通过调用接口ManagementService 可以监控引擎状态、任务调度、数据库数据读取 |
| org.activiti.engine.query | 该包没有具体功能,定义了查询的公有特性。在查询的XXXQuery接口均继承自Query接口。 |
| org.activiti.engine.repository |
该包包含了针对流程资源的管理与查询。依托RepositoryService接口可以部署流程定义, 自定义表单,规则等文件,还可以读取流程图片,流程定义(bpmn2.0.xml) |
| org.activiti.engine.runtime |
该包主要负责处理Activiti中的运行时数据,主要处理方式包括 待处理任务 正在处理中的流程实例对象 启动流程 流程的挂起和恢复 |
| org.activiti.engine.task |
该包包含了任务对象的定义,依托TaskService接口可以对任务(Task)全面管理,例如: 创建任务 删除任务 指派任务 批注管理 附件管理 变量查询 |
| org.activiti.engine.test |
顾名思义,该包针对快速创建测试用例提供基类和注解(Annotation)。在测试驱动开发 (TDD : Test Driver Development)中将会非常有用,将会大大方便了验证流程定义中 业务逻辑的正确与否。 |
3:环境搭建
3.1 Java环境
知道了上述信息之后就可以开始搭建开发环境了,既然是基于Java的,那么JDK肯定是必不可少的了。至于Java环境的配置,请参考:
3.2 Maven环境
Maven可是一个非常优秀的构建工具(不仅仅是构建),已经被全球众多开发者,开源组织所使用,而Activiti引擎的源码也是使用Maven构建的。Maven在管理依赖上面很有一套哦,自从用了Maven,再也不用关心包冲突了。关于Maven的配置,请参考:
4:配置文件介绍
这个配置文件是官方给出和Spring继承的配置文件:activiti.cfg.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"
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">
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name="databaseSchemaUpdate" value="true"/>
<property name="databaseType" value="h2" />
<property name="history" value="full" />
<property name="jobExecutorActivate" value="false" />
</bean> </beans>
databaseType |
数据库类型,默认H2,使用非H2需要声明。 支持的数据库 H2 MySQL Oracle Postgres MSSQL DB2 |
databaseSchemaUpdate |
数据库表结构的更新策略,与Hibernate的机制类似 false: 什么都不做 true: Activiti的表不存在时自动创建, Activiti的jar文件中定义的版本号与数据库中记录的版本号不一致时会自动执行相应的升级脚本 ,并且会记录升级过程 create-drop: 创建引擎时执行初始化脚本,引擎销毁时执行删除数据库脚本 |
jobExecutorActivate |
用来设置是否启动作业执行功能,默认为false。在将该值设置为true之后,引擎会不间断地刷新数据库的作业表, 检查是否存在需要执行的作业,有则触发执行,作业的来源有多种,例如各种时间事件或异步任务执行。 |
history |
用来设置记录历史的级别,默认为audit。支持以下几种类型。 none:不保存任何历史记录,可以提高系统性能 activity:保存所有的流程实例,任务、活动信息 audit:也是Activiti的默认级别。保存所有的流程实例、任务、活动、表单属性 full:最完整的历史记录,除了包含audit级别的信息之外还保存详细。例如流程变量,表单属性。 |
Activiti实战02_环境搭建的更多相关文章
- activiti实战--第二章--搭建Activiti开发环境及简单示例
(一)搭建开发环境 学习资料:<Activiti实战> 第一章 认识Activiti 2.1 下载Activiti 官网:http://activiti.org/download.html ...
- 2017.2.20 activiti实战--第二章--搭建Activiti开发环境及简单示例(二)简单示例
学习资料:<Activiti实战> 第一章 搭建Activiti开发环境及简单示例 2.5 简单流程图及其执行过程 (1)leave.bpmn 后缀名必须是bpmn.安装了activiti ...
- 2017.2.20 activiti实战--第二章--搭建Activiti开发环境及简单示例(一)搭建开发环境
学习资料:<Activiti实战> 第一章 认识Activiti 2.1 下载Activiti 官网:http://activiti.org/download.html 进入下载页后,可以 ...
- Android内核漏洞利用技术实战:环境搭建&栈溢出实战
前言 Android的内核采用的是 Linux 内核,所以在Android内核中进行漏洞利用其实和在 一般的 x86平台下的 linux 内核中进行利用差不多.主要区别在于 Android 下使用的是 ...
- 项目实战 Prometheus环境搭建
项目摘要: 本文是搭建一套prometheus环境的教程. 前期准备:准备三台虚拟机,本文以centos7为例. 项目具体实施:分别进入每台虚拟机设置hostname:# hostnamectl se ...
- 【JAVAWEB学习笔记】网上商城实战:环境搭建和完成用户模块
网上商城实战 今日任务 完成用户模块的功能 1.1 网上商城的实战: 1.1.1 演示网上商城的功能: 1.1.2 制作目的: 灵活运用所学知识完成商城实战. 1.1.3 ...
- 基于Flask框架的Python web程序的开发实战 <一> 环境搭建
最近在看<Flask Web开发基于Python的Web应用开发实战>Miguel Grinberg著.安道译 这本书,一步步跟着学习Flask框架的应用,这里做一下笔记 电脑只安装一个P ...
- 1、手把手教React Native实战之环境搭建
React Native 的宗旨是,学习一次,高效编写跨平台原生应用. 在Windows下搭建React Native Android开发环境 1.安装jdk 2.安装sdk 在墙的环境下,为了 ...
- Spring cloud微服务安全实战-7-3prometheus环境搭建
Prmetheus 主要用来做来Metrics的监控和报警,这张图是官方的架构图. 这是他的核心 它的作用是根据我们的配置去完成数据的采集.服务的发现,以及数据的存储. 这是服务的发现,通过Servi ...
随机推荐
- (2)mysql数据类型
数据类型 1.整数类型 浮点类型 定点数类型 decimal(M,D)也看作(numeric) decimal(8,2) M是定点精度,D是小数位数.指定小数点左边.右边加一起共8位数.也就是整数部分 ...
- 使用docker安装redis
1.安装docker .检查内核版本,必须是3.10及以上 [root@localhost ~]# uname -r .安装docker [root@localhost ~]# yum install ...
- hexo next 主题 : 实现点击跳转到文章的时候文章的页面自动实现滚轮效果,向下滚动到阅读的位置。
个人博客:https://mmmmmm.me 源码:https://github.com/dataiyangu/dataiyangu.github.io 背景: 博主的博客希望实现能够在点击到某个文章 ...
- CCPC 2019 网络赛 1006 Shuffle Card
// 签到题,比赛时候写双向链表debug了半天,发现有更好方法,记录一下. Shuffle Card HDU 6707 题意: 有一 \(n\) 张卡片,编号 \(1~n\) ,给定初始编号 ...
- assert(断言)
Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常. 语法格式: assert expression 等价于: if not expression: ra ...
- Spoj-DISUBSTR - Distinct Substrings~New Distinct Substrings SPOJ - SUBST1~(后缀数组求解子串个数)
Spoj-DISUBSTR - Distinct Substrings New Distinct Substrings SPOJ - SUBST1 我是根据kuangbin的后缀数组专题来的 这两题题 ...
- css盒模型问题
css盒模型问题 1.基本概念:标准模型和ie模型 2.标准模型和ie模型的区别 3.css如果设置这两种模型 4.js如何获取盒模型的宽高 5.边距重叠 6.BFC 1.CSS盒模型本质上是一个盒子 ...
- 转载别人的ftp,觉得目录结构不错,学习
开发简单的FTP:1. 用户登陆2. 上传/下载文件3. 不同用户家目录不同4. 查看当前目录下文件5. 充分使用面向对象知识 REDMAE 1 用户登陆 2 3 1.查看用户目录文件 4 2.上传文 ...
- [转]NuGet学习笔记(1) 初识NuGet及快速安装使用
关于NuGet园子里已经有不少介绍及使用经验,本文仅作为自己研究学习NuGet一个记录. 初次认识NuGet是在去年把项目升级为MVC3的时候,当时看到工具菜单多一项Library Package M ...
- [JZOJ3293] 【SHTSC2013】阶乘字符串
题目 题目大意 给你一个字符串,判断这个字符串是否为"阶乘字符串". 就是子序列包含字符集的全排列的字符串. n≤26n\leq 26n≤26 ∣S∣≤450|S|\leq 450 ...