- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Fire Workflow 源码
Fire Workflow 是最近兴起的国内比较火的开源工作流引擎,FireWorkflow 的源代码主要包含两个部分:FireflowEngine 和 FireflowModel,其中 FireflowEngine 主要是一些工作流运行时的服务,如事件处理、条件判断、数据持久化、工作流委派等等服务和操作,另外还预留了一些扩展接口。
FireflowModel 主要是一些流程定义的基本组建,流程定义的解析服务以及序列化服务等, 另外还提供了对资源和参与者的接口。
getSn(), setSn(): 返回和设置元素的序列号,系统自动处理,开发者无需关心。
getId():返回工作流元素的 Id, 工作流元素的 Id 采用“父 Id.自身 Name”的方式组织。getName(), SetName(): 返回和设置工作流元素的名称。
getDisplayName(), setDisplayName(): 返回和设置工作流元素的显示名称。getDescription(), setDescription(): 返回和设置工作流元素的描述。getParent(), setParent(): 返回和设置父节点。
getEventListeners(): 返回事件监听器列表。
getExtendedAttributes(): 返回扩展属性 Map。AbstractWFElement:流程元素抽象类。
前四个为工作流类型:
TOOL:TOOL 类型,即工具类型任务,该任务自动调用 java 代码完成特定的工作。SUBFLOW:SUBFLOW 类型,即子流程任务。
FORM:FORM 类型,最常见的一类任务,代表该任务需要操作员填写相关的表单。
DUMMY:DUMMY 类型,该类型暂时没有用到,保留。接下来三个是任务分配指示:
REDO:重做类型。对于 Tool 类型和 Subflow 类型的 task 会重新执行一遍,对于 Form 类型的Task,重新执行一遍,且将该任务实例分配给最近一次完成同一任务的操作员。 SKIP:跳过忽略类型。循环的情况下该任务将被忽略,即在流程实例的生命周期里,仅执行一遍。
NONE:无类型。对于 Tool 类型和 Subflow 类型的 task 会重新执行一遍,和 REDO 效果一样的。对于 Form 类型的 Task,重新执行一遍,且工作流引擎仍然调用 Performer 属性的AssignmentHandler 分配任务。
其他变量:
type: 任务类型,取值为 FORM,TOOL,SUBFLOW,DUMMY(保留),缺省值为 FORM duration: 自定义类型,任务执行的时限,可查看 duration 类。
priority: 任务优先级别(1.0 版本中暂未使用)。
loopStrategy:循环情况下任务执行策略,取值为 REDO、SKIP 和 NONE。taskInstanceCreator:任务实例创建器。如果没有设置,则使用所在流程的全局任务实例创建器。
taskInstanceRunner:任务实例运行器,如果没有设置,则使用所在流程的全局的任务实例运
行 器 。 taskInstanceCompletionEvaluator:任务实例的终结评价器,用于告诉引擎,该实例是否可以结束。如果没有设置,则使用所在流程的全局的任务实例终结评价器。
dataFields:流程数据项,运行时转换为流程变量进行存储。tasks:全局 Task。
activities:流程环节,即 steps。
transitions: 转移。loops:循环。Synchronizers:同步器。startNode:开始节点。endNodes:结束节点。
resourceFile:资源文件(在 1.0 版本中暂时未使用)。
resourceManager:资源管理器(在 1.0 中暂时未使用)。
taskInstanceCreator : 本流程全局的任务实例创建器。 如果没有设置, 引擎将使用DefaultTaskInstanceCreator 来创建 TaskInstance。
formTaskInstanceRunner:本流程全局的 FormTask Instance 运行器。如果没有设置,引擎将使用 DefaultFormTaskInstanceRunner 来 运 行 TaskInstance 。toolTaskInstanceRunner:本流程全局的 ToolTask Instance 运行器。如果没有设置,引擎将使用 DefaultToo
原创力文档


文档评论(0)