zoukankan      html  css  js  c++  java
  • fire workflow总结

    一、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。

  • 相关阅读:
    [HEOI2015]兔子与樱花
    [HNOI2015]亚瑟王
    [JSOI2011]分特产
    某考试 T3 sine
    [JSOI2015]最小表示
    51NOD 1258 序列求和 V4
    Codeforces 622F The Sum of the k-th Powers
    Loj #6261. 一个人的高三楼
    [HAOI????] 硬币购物
    bzoj4318 OSU!
  • 原文地址:https://www.cnblogs.com/Jiphen/p/5201371.html
Copyright © 2011-2022 走看看