OsWorkFlow工作流简介:

Osworkflow是完全用java语言编写的开放源代码的工作流引擎,具有显著的灵活性及完全面向有技术背景的用户的特点。用户可以根据自身的需求利用这款开源软件设计简单或是复杂的工作流。通过使用,用户就可以把工作中心放在业务和规则的定义上,而不需通过硬编码的方式实现一个Petri网或是一个有穷自动机。用户可以以最小的代价把osworkflow整合到自己的程序中来。

OsWorkFlow工作流实例:

下载工作流相关jar包:osworkflow-2.8.0.jar

工作流配置文件:

osworkflow.xml

<osworkflow><persistenceclass="com.opensymphony.workflow.spi.memory.MemoryWorkflowStore" /><factoryclass="com.opensymphony.workflow.loader.XMLWorkflowFactory"><property key="resource" value="workflows.xml" /></factory>
</osworkflow>

workflows.xml

<workflows><workflow name="mytest" type="resource" location="myworkflow.xml" />
</workflows>

myworkflow.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE workflow PUBLIC "-//OpenSymphony Group//DTD OSWorkflow 2.7//EN""http://www.opensymphony.com/osworkflow/workflow_2_7.dtd">
<workflow><initial-actions><action id="100" name="Start Workflow"><results><unconditional-result old-status="Finished"status="Queued" step="1" /></results></action></initial-actions><steps><step id="1" name="First Draft"><actions><action id="1" name="Start First Draft"><restrict-to><conditions><condition type="class"><arg name="class.name">com.opensymphony.workflow.util.StatusCondition</arg><arg name="status">Queued</arg></condition></conditions></restrict-to><pre-functions><function type="class"><arg name="class.name">com.opensymphony.workflow.util.Caller</arg></function></pre-functions><results><unconditional-result old-status="Finished"status="Underway" step="1" owner="${caller}" /></results></action><action id="2" name="Finish First Draft"><restrict-to><conditions type="AND"><condition type="class"><arg name="class.name">com.opensymphony.workflow.util.StatusCondition</arg><arg name="status">Underway</arg></condition><condition type="class"><arg name="class.name">com.opensymphony.workflow.util.AllowOwnerOnlyCondition</arg></condition></conditions></restrict-to><results><unconditional-result old-status="Finished"status="Queued" step="2" /></results></action></actions></step><step id="2" name="finished" /></steps>
</workflow>

测试类:

package test;import java.util.HashMap;import com.opensymphony.workflow.InvalidActionException;
import com.opensymphony.workflow.InvalidEntryStateException;
import com.opensymphony.workflow.InvalidInputException;
import com.opensymphony.workflow.InvalidRoleException;
import com.opensymphony.workflow.Workflow;
import com.opensymphony.workflow.WorkflowException;
import com.opensymphony.workflow.basic.BasicWorkflow;public class MyWorkflowTest {@SuppressWarnings("unchecked")public static void main(String[] args) throws InvalidActionException, InvalidRoleException, InvalidInputException, InvalidEntryStateException, WorkflowException {String caller = "testUser";String params1 = "params1";String docTitle = "docTitle";long workflowId = 1;HashMap inputs = new HashMap();Workflow wf = new BasicWorkflow(caller);inputs.put("params1", params1);inputs.put("docTitle", docTitle);workflowId = wf.initialize("mytest", 100, inputs);//执行第1步动作wf.doAction(workflowId, 1, inputs);}}

OsWorkFlow工作流简介相关推荐

  1. 工作流(Workflow) -- 工作流简介

    工作流(Workflow) – 工作流简介 数据库 Activiti的后台是有数据库的支持,所有的表都以ACT_开头. 第二部分是表示表的用途的两个字母标识. 用途也和服务的API对应. ACT_RE ...

  2. Activiti工作流从入门到入土:工作流简介

    文章源码托管:https://github.com/OUYANGSIHAI/Activiti-learninig 欢迎 star !!! 一.activiti介绍 Activiti5是由Alfresc ...

  3. Unity 数字孪生笔记2.1 PiXYZ Studio 工作流简介

    前言 UnReferenceException 为什么引入Pixyz Studio Pixyz是Unity的模型导入工具之一,但是Pixyz作为业界领先的模型处理工具,其产品不止有Pixyz plug ...

  4. Activiti 工作流简介

    1.什么是工作流 工作流(Workflow),就是通过计算机对业务流程自动化执行管理.它主要解决的是"使在多个参与者之间按照某种预定义的规则自动进行传递文档.信息或任务的过程,从而实现某个预 ...

  5. Activiti-6.0工作流简介与使用,实现一个开源oa项目

    Activi官方文档简单版 Activiti官方文档详细版 oa-sytem开源项目 以前项目中用到过工作流框架Activiti,没有深入去了解,都是网复制代码下来,能能运行就OK了.最近项目又要用到 ...

  6. CRM, C4C和Hybris的工作流简介

    CRM的例子 Step by Step to debug IC inbox workflow WS14000164 C4C Custom recipient determination in work ...

  7. flowable工作流简介

    官网地址:https://www.flowable.org/ Flowable6.3中文教程:https://tkjohn.github.io/flowable-userguide/#_introdu ...

  8. 详解工作流框架Activiti的服务架构和组件

    摘要:通过这篇文章,可以对工作流有一个基本的认识,为后续工作流框架Activiti的学习打下坚实的基础. 本文分享自华为云社区<BPMN工作流的基本概念!详解工作流框架Activiti的服务架构 ...

  9. Java开源工作流对比

    Java开源工作流对比 工作流(Workflow) 1.业务过程的部分或整体在计算机应用环境下的自动化: 2.是对工作流程及其各步骤之间业务规则的抽象.概括描述: 3.工作流主要解决的问题是:为了实现 ...

最新文章

  1. Lua基础之字符串(string)
  2. k8s常用对象图示:Deployment、ReplicaSet、Pod它们的关系
  3. 【MFC】带图标的工具栏
  4. php pdo mysql哪个好_php pdo和mysqli对比选择
  5. ABB RAPID SOCKET编程
  6. 在Marketplace上销售应用【WP7学习札记之十八】
  7. 吃鸡服务器不接受响应,绝地求生:蓝洞优化服务器性能,从此告别掉帧延迟!...
  8. Oracle 表空间常用sql
  9. python读音发音-python3 - 文本读音器
  10. 读写分离架构的两种方式及问题
  11. three.js加载STL格式模型(vue中使用three.js52)
  12. Linux驱动之设备树(设备树下的LED驱动实验)
  13. 如何在Kindle上阅读漫画书和漫画
  14. 头豹研究院发布《2022年中国数据库产品策略解析报告》
  15. 最简单的单例模式,Go版本的实现你写对了吗?
  16. 阿里M8级大神整理出SQL手册:收获不止SQL优化,抓住SQL的本质
  17. android 苹果电脑底部图标滚动效果,JS实现仿苹果底部任务栏菜单效果代码
  18. html背景图片自适应窗口大小
  19. OpenCV-图像高光调整
  20. 11+++各类计算机病毒介绍

热门文章

  1. 取代 Ant:使用 Maven 管理 Wowza 插件开发
  2. Java语言中print、println和printf的区别
  3. 软件评测师题库--程序语言基础知识
  4. 机器学习笔记马尔可夫链蒙特卡洛方法(二)马尔可夫链与平稳分布
  5. 摄像头识别黑烟加框处理(测试)
  6. mycat的主从关系 垂直分库 水平分表 以及mycat分片联表查询的配置详解(mysql5.7系列)
  7. 北京离职自己上社保哪个靠谱
  8. 服务器连接数据库mysql
  9. 金仓数据库KingbaseES SYS_BULKLOAD工具的使用
  10. 老男孩linux培训-python三期下载