一、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. CodeSmith如何生成实体类

    CodeSmith如何生成实体类 这是模板,然后选择对应的表.就可以生成 了 <%-- Name: Database Table Properties Author: Paul Welter D ...

  2. CSS3基础入门01

    CSS3 基础入门 01 前言 相对于css2来说,css3更新了很多的内容,其中包括选择器.颜色.阴影.背景.文本.边框.新的布局方案.2d.3d.动画等等. 而如果想要学习css3的诸多部分,不妨 ...

  3. Java项目模板设置

    /** * * @ClassName ${PACKAGE_NAME}.${NAME} * @description ${DESCRIPTION} * @author lisongyu * @creat ...

  4. python学习day10 函数Ⅱ(参数&作用域)

    函数Ⅱ(参数&作用域) 知识小结: py2与py3的区别 逻辑运算()>not>and>or 字符串翻转切片翻转 is与==区别 git相关 数据类型判断 操作系统:cent ...

  5. linux串口编程设置(转载)

    (转载)在嵌入式Linux中,串口是一个字设备,访问具体的串行端口的编程与读/写文件 的操作类似,只需打开相应的设备文件即可操作.串口编程特殊在于串 口通信时相关参数与属性的设置.嵌入式Linux的串 ...

  6. <六>企业级开源仓库nexus3实战应用–使用nexus3配置yum私有仓库

    一两个星期之前,你如果在我跟前说起私服的事情,我大概会绕着你走,因为我对这个东西真的一窍不通.事实上也正如此,开发同学曾不止一次的跟我说公司的私服版本太旧了,许多新的依赖编译之后不会从远程仓库自动缓存 ...

  7. linux系统无法启动或无法登入

    修改root权限: https://blog.csdn.net/houjue2298/article/details/78539827 修改密码: https://www.cnblogs.com/we ...

  8. numpy&pandas基础

    numpy基础 import numpy as np 定义array In [156]: np.ones(3) Out[156]: array([1., 1., 1.]) In [157]: np.o ...

  9. [再寄小读者之数学篇](2014-06-26 Besov space estimates)

    (1) $$\bex \sen{D^k f}_{\dot B^s_{p,q}}\sim \sen{f}_{\dot B^{s+k}_{p,q}}. \eex$$ (2) $$\beex \bea &a ...

  10. luoguo 1306 斐波那契公约数

    这题难度不大,主要是小结论:斐波那契第n项和第m项公约数就是第gcd(n,m)项 大概能猜出来,毕竟斐波那契数列反过来实在太像计算公约数的步骤了 日后填坑证明吧