没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
Flowable 的文档(v 6.4.2)
1.简介
1.1. 许可
Flowable在
Apache V2
许可 下分发。
1.2. 下载
http://www.flowable.org/downloads.html
1.3. 源代码
分发版包含大多为源文件作为 JAR 文件。可以在 https://github.com/flowable/flowable-engine
上找到 Flowable 的源代码 。
1.4. 所需的软件
1.4.1. JDK 8+
Flowable 在高于或等于 JDK 8 版本上运行。转到 Oracle Java SE downloads
并单击 Download JDK 按钮。该页面上还有安装说明。要
验证安装是否成功,请在命令行上运行 java -version,应该显示已安装的 JDK 版本。
1.4.2. IDE
可以使用你选择的 IDE 完成 Flowable 的开发。如果想使用 Flowable Designer,那么你需要 Eclipse Mars 或 Neon。从 Eclipse
下载页
面下载你选择的 Eclipse 发行版。解压缩下载的文件,然后你应该能够使用 eclipse 目录中的 Eclipse 文件启动它。在本指南中,有一节介绍
如何安装
eclipse
设计器插件 。
1.5. 报告问题
我们希望开发人员在报告或询问任何问题之前阅读如何以智能方式提问。
完成后,你可以在用户论坛上发布有关增强功能的问题、评论或建议,并在我们的
Github
问题跟踪器 中为软件错漏创建议题。
1.6. 试验特性
标有[试验]的部分不应被视为是稳定的。
包名称中包含.impl.的所有类都是内部实现类,不能被认为是稳定的或以任何方式保证。但是,如果 User Guide提到任何类作为配置值,
则它们是受支持的并且可以认为是稳定的。
1.7. 内部实现类
在 JAR 文件中,包中的名称包含.impl.(例如 org.flowable.engine.impl.db)的所有类都是实现类,应该仅被视为只在内部使用。对实现
类中的类或接口没有给出稳定性保证。
1.8. 版本控制策略
版本使用标准的整数三连组表示:MAJOR.MINOR.MICRO。意图是 MAJOR(主)版本用于核心引擎的演进,MINOR(次)版本用于
新功能和新 API,MICRO(微)版本用于修复错漏和改进提高。
通常,Flowable 努力在所有非内部实现类的 MINOR 和 MICRO 版本中保持 source compatible(源码兼容)。我们定义 source
compatible 是指应用程序将继续构建而没有错误,并且语义保持不变。Flowable 也努力在 MINOR 和 MICRO 版本中保持 binary
compatible。我们定义 binary compatible 是指这个新版本的 Flowable 可以作为 jar 替换到已编译的应用程序中并继续正常运行。
如果在 MINOR 版本中引入了 API 更改,则策略是在其中保留向后兼容的版本,并使用 进行注释。这些弃用的 API 将在两
个 MINOR 版本之后被删除。
2.入门
2.1. 什么是 Flowable?
Flowable 是用 Java 编写的轻量级业务流程引擎。Flowable 流程引擎允许你部署 BPMN 2.0 流程定义(用于定义流程的行业 XML 标
准)、创建流程定义的流程实例、运行查询、访问活动的或历史的流程实例和相关数据,等等。本节将通过可以在你自己的开发机器上仿效
的示例来逐步介绍各种概念和 API。
Flowable 在将其添加到你的应用程序/服务/架构时非常灵活。你可以通过包含以 JAR 提供的 Flowable 库将引擎
嵌入
到你的应用程序或
服务中。由于它是一个 JAR 文件,因此你可以轻松地将其添加到任何 Java 环境中:Java SE;servlet 容器,如 Tomcat 或
Jetty、Spring;Java EE 服务器,例如 JBoss 或 WebSphere 等。或者,你还可以使用 Flowable REST API 通过 HTTP 进行通信。还有几个
Flowable 应用程序(Flowable Modeler、Flowable Admin、Flowable IDM 和 Flowable Task),它们提供了用于处理流程和任务的现成的
示例 UI。
核心引擎是设置 Flowable 的所有方法的共同之处,它可以看作是公开 API 以管理和执行业务流程的一个服务集合。下面的各种教程首
先介绍如何设置和使用这个核心引擎。之后的章节建立在前面章节中获得的知识的基础之上。
第一部分 展示了如何以可能的最简单的方式运行 Flowable:仅使用 Java SE 的常规的 Java main 方法。这里将解释许多核心概念
和 API。
Flowable REST API
部分 展示如何通过 REST 运行和使用相同的 API。
Flowable
应用程序部分 ,将通过现成的实例指导你使用 Flowable UI 用户界面的基础知识。
2.2. Flowable 和 Activiti
Flowable 是 Activiti(Alfresco 的注册商标)的一个分支。在接下来的所有章节中,你将注意到程序包名称、配置文件等等,都使用
。
2.3. 构建命令行应用程序
2.3.1. 创建流程引擎
在此第一个教程中,我们将构建一个简单的示例,演示如何创建 Flowable 流程引擎、介绍一些核心概念并演示如何使用 API。截图显
示的是 Eclipse,但对任何 IDE 都有效。我们将使用 Maven 来获取 Flowable 依赖项并管理构建,但同样,任何替代方案也都有效
(Gradle,Ivy 等)。
我们要构建的示例是一个简单的
请假
流程:
员工
申请假日数
管理员
批准或拒绝该申请
我们将摹拟在某些外部系统中登记申请,并向员工发出一封含结果的电子邮件
首先,我们通过 创建一个新的
项目
在下一个界面中,我们勾选
(原型)
并填写 !"(域.公司,是项目组织唯一的标识符)和 #$(项目名称,项目的唯一的标识符):
我们现在有一个空的 Maven 项目,我们将为它添加两个依赖项:
Flowable 流程引擎,它允许我们创建一个 ProcessEngine 对象并访问 Flowable API。
内存数据库,此例中为 H2,在运行流程实例时,作为 Flowable 引擎所需数据库来存储执行和历史数据。请注意,H2 依赖项包括
数据库
和
驱动程序。如果你使用其他数据库(例如,PostgreSQL、MySQL 等),则需要添加特定的数据库驱动程序依赖项。
将以下内容添加到 %& 文件中:
<dependencies>
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-engine</artifactId>
<version>6.4.2</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.3.176</version>
</dependency>
</dependencies>
如果由于某种原因未自动获取依赖的 JAR,则可以右键单击项目并选择 ' 以强制手动刷新(但通常不需要这样
做)。在项目中,在 下,你现在应该看到 $() 和各种其他(可传递)依赖项。
创建一个新的 Java 类并添加常规 Java main 方法:
package org.flowable;
public class HolidayRequest {
public static void main(String[] args) {
}
}
我们需要做的第一件事是实例化一个 ProcessEngine。这是一个线程安全的对象,你通常只需在一个应用程序中只实例化一次。一个
*) 的创建从 ProcessEngineConfiguration 实例开始,它允许你为流程引擎配置和调整设置。通常,通过配置 XML 文件创建
*)+$)!,但是(如我们这里所做)你也可以通过编程方式创建它。*)+$)! 所需最小配置是与数
据库的 JDBC 连接:
package org.flowable;
import org.flowable.engine.ProcessEngine;
import org.flowable.engine.ProcessEngineConfiguration;
import org.flowable.engine.impl.cfg.StandaloneProcessEngineConfiguration;
public class HolidayRequest {
public static void main(String[] args) {
ProcessEngineConfiguration cfg = new StandaloneProcessEngineConfiguration()
.setJdbcUrl("jdbc:h2:mem:flowable;DB_CLOSE_DELAY=-1")
.setJdbcUsername("sa")
.setJdbcPassword("")
.setJdbcDriver("org.h2.Driver")
.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
ProcessEngine processEngine = cfg.buildProcessEngine();
}
}
在上面的代码中,在第 10 行,创建了一个 配置对象。这里的 指的是引擎完全是自己创建和使用的(而不是,例
如,在 Spring 环境中,你将代以使用 ,)*)+$)! 类)。在第 11 到 14 行,传递了到内存中 H2 数据库实例的 JDBC
连接参数。重要说明:请注意,此类数据库无法在 JVM 重新启动后继续存在。如果你希望数据被持久化,则需要切换到持久性数据库并相
应地切换连接参数。在第 15 行,我们将标志设置为 ! 以确保在 JDBC 参数指向的数据库中尚不存在数据库模式时创建数据库模式。或者,
Flowable 附带一组 SQL 文件,可用于手动创建包含所有数据表的数据库模式。
然后使用此配置创建流程引擎对象(第 17 行)。
你现在可以运行它。Eclipse 中最简单的方法是右键单击类文件并选择 -!#.#:
应用程序运行没有问题,但是,控制台中除了显示未正确配置日志记录的消息之外,不显示任何有用信息:
Flowable
在内部使用 SLF4J
作为其日志框架。对于此示例,我们将在 SLF4J 上使用 log4j 记录器,因此将以下依赖项添加到 pom.xml
文件中:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
Log4j 需要一个属性文件进行配置。将包含以下内容的 )/% 文件添加到 00! 文件夹:
log4j.rootLogger=DEBUG, CA
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern= %d{hh:mm:ss,SSS} [%t] %-5p %c %x - %m%n
重新运行该应用程序。你现在应该看到有关引擎启动以及在数据库中创建了数据库模式的内容丰富的日志记录:
剩余63页未读,继续阅读
jnagri
- 粉丝: 8
- 资源: 30
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- qt密码登录及退出提醒界面
- java项目实战源码-编程爱好者博客地带平台.zip
- 基于VUE的工厂车间管理系统设计与实现(代码+数据库+LW)
- java项目实战源码-大学生求职就业网平台.zip
- 交通运输领域的出租车计价方法及其组成部分详述
- “致青春”创意同学聚会电子相册模板.pptx
- 2025年红色卡通可爱风除夕年夜饭介绍模板.pptx
- 基于BP神经网络和LSTM预测股票价格,注释拉满
- 【机器学习&数据挖掘】离群点检测-源代码+数据集
- 大炮打蚊子c++示例代码.docx
- python脚本-获取哔哩哔哩指定up主数据
- 一个精简的基于SSM+layui+MySQL框架开发的酒店后台管理系统,适用课程Demo或毕业设计,简单易读迅速上手
- 《基于 Pygame 的 2D 射击游戏》(毕业设计,源码,教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip
- 《基于 PyGame 的 2D 垂直射击游戏》(毕业设计,源码,教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip
- 《基于 pygame 包的简单罚款Shotout 游戏》(毕业设计,源码,教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip
- 《基于 pygame 的 python snake 游戏》(毕业设计,源码,教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0