一、Fire WorkFlow核心
1.IPersistenceService
存储服务。Fire Workflow 缺省情况下使用hibernate 进行数据库存取。如果你的系统不
是使用hibernate,则重新实现该类,然后通过修改FireflowContext.xml 配置,将你的存储服
务实现类注入到RuntimeContext 中。
2.IDefinitionService
    流程定义服务。该服务负责根据流程ID和版本号获得流程定义对象WorkflowDefinition。从该对象可以获得WorkflowProcess,即真正的流程定义。
Fire Workflow 缺省提供两种实现,
    一种实现是org.fireflow.engine.definition.DefinitionService4FileSystem。该实现类从文件系统中获得流程定义对象,在开发阶段使用该类比较方便。该类从class path 中读取流程定义文件,因此你在项目中设计流程时, 推荐将流程定义文件置于/src 或者其子目录中。DefinitionService4FileSystem 忽略流程的版本,直接读取当前的流程定义文件。
    另一个实现是org.fireflow.engine.definition.DefinitionService4DBMS。该实现类从数据库
表T_FF_DF_WORKFLOWDEF 中获得流程定义文件。因为表T_FF_DF_WORKFLOWDEF中保存了流程的版本号,因此该类在产品真正运行时使用。
在FireflowContext.xml 修改相关的配置即可实现这两个类的切换。
3.ICalendarService
    日历服务。日历服务负责获取系统时间和计算TaskInstance 的ExpiredDate。缺省实现中,
系统时间是返回new Date(),也只考虑了周六、周日作为节假日的情况。你可以扩展该类获
取数据库时间作为系统时间,增加节假日配置。
4.IConditionResolver
转移条件解析器,用于计算转移条件中的EL 表达式的值。
5.ITaskInstanceManager
任务管理器,负责创建任务实例,缺省实现是BasicTaskInstanceManager。
6.BeanFactory
在1.0 中,增加了一个新的服务: bean factory。该服务负责创建各种javabean,例如:
进行工作项分派的时候,需要获得AssignmentHandler 的实例;执行ToolTask 的时候,需要
获得ApplicationHandler 的实例,等等。这些实例都是由bean factory 创建的。在1.0 中,这
个bean factory 的缺省实现是spring ioc 容器,即,将创建bean 的工作委派给了spring 。
注意:Bean factory 在上述的Engine 结构图中没有画出来。Fire workflow1.0 的引擎实
际结构如下,增加了bean factory。

二、Fire workflow 嵌入J2EE系统的详细步骤
将Fire Workflow 嵌入J2EE 系统的的步骤和第2 章描述的差不多。
首先,给项目增加Fire Workflow 支持。即,将相关的Jar 包扔到你的项目的WEB_INF/lib
中去,并创建相关的表结构
然后,配置FireWorkflow,主要配置内容如下。
1、将Fire workflow Engine 的一些hibernate 映射文件注册到sessionFactory 中
2、打开FireflowContext.xml,配置PersistenceService 的sessionFactory 属性
3、打开FireflowContext.xml,给runtimeContext bean 选择适当的definitionService;如
果你使用definitionService4FileSystem,则需要将流程定义文件的classpath 路径注入进去。
最后,编码调用Fire Workflow。

fire workflow总结的更多相关文章

  1. Creating Node.js Command Line Utilities to Improve Your Workflow

    转自:https://developer.telerik.com/featured/creating-node-js-command-line-utilities-improve-workflow/ ...

  2. Salesforce Integration 概览(三) Remote Process Invocation—Fire and Forget(远程进程调用-发后即弃)

    本篇参考:https://resources.docs.salesforce.com/sfdc/pdf/integration_patterns_and_practices.pdf 我们在上一篇讲了远 ...

  3. Mac 词典工具推荐:Youdao Alfred Workflow(可同步单词本)

    想必大家都有用过 Mac 下常见的几款词典工具: 特性 系统 Dictionary 欧路词典 Mac 版 有道词典 Mac 版 在线搜索 ✗ ✔ ✔ 屏幕取词 ☆☆☆ ★★☆ ★☆☆ 划词搜索 ★★★ ...

  4. SharePoint 2013 create workflow by SharePoint Designer 2013

    这篇文章主要基于上一篇http://www.cnblogs.com/qindy/p/6242714.html的基础上,create a sample workflow by SharePoint De ...

  5. Install and Configure SharePoint 2013 Workflow

    这篇文章主要briefly introduce the Install and configure SharePoint 2013 Workflow. Microsoft 推出了新的Workflow ...

  6. Workflow笔记3——BookMark和持久化

    BookMark 我们在平时的工作流使用中,并不是直接这样一气呵成将整个工作流直接走完的,通常一个流程到了某一个节点,该流程节点的操作人,可能并不会马上去处理该流程,而只有当处理人处理了该流程,流程才 ...

  7. Workflow笔记2——状态机工作流

    状态机工作流 在上一节Workflow笔记1——工作流介绍中,介绍的是流程图工作流,后来微软又推出了状态机工作流,它比流程图功能更加强大. 状态机工作流:就是将工作流系统中的所有的工作节点都可以看做成 ...

  8. Workflow笔记1——工作流介绍

    什么是工作流? 工作流(Workflow),是对工作流程及其各操作步骤之间业务规则的抽象.概括.描述.BPM:是Business Process Management的英文字母缩写.即业务流程管理,是 ...

  9. Rehosting the Workflow Designer

    官方文档:https://msdn.microsoft.com/en-us/library/dd489451(v=vs.110).aspx The Windows Workflow Designer ...

随机推荐

  1. 一、Redis-NoSQL数据库

    转载:[https://blog.csdn.net/aaronthon/article/details/81714528 ] [https://www.cnblogs.com/StanleyBlogs ...

  2. Java拓展接口-default关键词

    Java接口在使用过程中有两点规定: 1.接口中只能有定义方法名.方法返回类型,不能有方法的实现. 2.实现接口的类,必须实现接口中所有的方法. 例如下面的例子: //定义接口 public inte ...

  3. 爬虫简介与request模块

    一 爬虫简介 概述 近年来,随着网络应用的逐渐扩展和深入,如何高效的获取网上数据成为了无数公司和个人的追求,在大数据时代,谁掌握了更多的数据,谁就可以获得更高的利益,而网络爬虫是其中最为常用的一种从网 ...

  4. Prince and Princess HDU - 4685(匹配 + 强连通)

    Prince and Princess Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Othe ...

  5. 社交系统ThinkSNS+安装部署演示

    ThinkSNS(简称TS),一款全平台综合性社交软件系统,10年来为国内外大中小企业和创业者提供社交化软件研发及技术解决方案.目前有ThinkSNS V4.ThinkSNS+两个并行系统. Thin ...

  6. BZOJ3456城市规划

    题目描述 刚刚解决完电力网络的问题, 阿狸又被领导的任务给难住了.刚才说过, 阿狸的国家有n个城市, 现在国家需要在某些城市对之间建立一些贸易路线, 使得整个国家的任意两个城市都直接或间接的连通.为了 ...

  7. Win10激活工具

    W10数字许可激活C#版v2.8.0百度网盘下载地址:https://pan.baidu.com/s/1TD0PVxIfB2NTarAuP9NJbQ直接下载地址:FTP://A@OS.X6X8.COM ...

  8. centos7 LNMP

    Nginx1.13.5 + PHP7.1.10 + MySQL5.7.19 一.安装Nginx 1.安装依赖扩展 # yum -y install wget openssl* gcc gcc-c++ ...

  9. JS学习笔记Day10

    一.设置或获取元素对象中(标签中)的属性和自定义属性 对象.属性 对象['属性'] 对象.getAttribute('属性名') 对象.setAttribute('属性名','属性值'); 对象.re ...

  10. 前端神器之jquery

    jquery介绍 jQuery是目前使用最广泛的javascript函数库.据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库.微软公司甚至把jQuery作为他们的官方库. ...