OSWorkFlow深入浅出(2)---配置

时间:2022-01-10 05:22:40

1、配置描述

在开始编写第一个OSWorkFlow之前,我们先来看看OSWorkFlow的配置,OSWorkFlow的最基本配置有,OSWorkFlow的最基本配置有三个,第一个用来配置OSWorkFlow的数据持久策略,流程引擎的清单文件,如下所示第一个是OSWorkFlow的主配置文件,这个文件名字保持不变,不要轻易去改变,因为osworkflow框架会在classpath下根据文件名寻找该文件。

2、osworkflow主配置文件

2.1、配置文件如下所示

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

2.2、配置文件说明

上述配置文件,以osworkflow作为根节点,标识这是osworkflow的主配置文件,persistence标签,标识采用什么样的持久化方案,我们采用了内存持久化方案MemoryWorkflowStore(读者现在无需明白什么是MemoryWorkflowStore,在后文中的持久化解决方案中将会进行详细的介绍),Factory标签标识流程配置文件的加载方式,在上面的例子中我们采用了xml的方式,在osworkflow中提供了很多种配置文件的加载方式,其中用的比较多的就是xml的方式,在factory标签中有一个property子标签,用来配置workflow的清单文件,该文件名字可以随便起,只要在该property中指定即可,在上面的例子中,我们采用了workflows命名。

3、osworkflow流程的清单文件

<workflows>
<workflow name="first" type="resource" location="helloworld.xml"/>
</workflows>
该清单文件,比较简单,主要是用来定义workflow的清单文件,在workflows标签下可以用1~N个workflow标签,用来指定工作流引擎配置文件的位置。

4、helloworld.xml工作流配置,这是我们的重中之重,在这里我们将提前泄露下一章中helloworld的流程配置

<?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="Underway" step="1"/>
</results>
</action>
</initial-actions>
<steps>
<step id="1" name="HELLOWORLD1">
<actions>
<action id="1" name="helloWorld action1">
<results>
<unconditional-result old-status="Finished"
status="UnderWay" step="2" />
</results>
</action>
</actions>
</step>
<step id="2" name="HELLOWORLD2">
<actions>
<action id="2" name="helloWorld action2" finish="true">
<results>
<unconditional-result old-status="Finished"
status="UnderWay" step="2" />
</results>
</action>
</actions>
</step>
</steps>
</workflow>
上面的配置文件是我们编写的first.xml文件,上面的很多标签,读者可能会感觉到非常的陌生,不用担心他所代表的意思,因为这就是这些系列文章存在的意义所在,在接下来的文章中将会全面的解释上述配置文件中所涵盖的所有内容,并且还有很多全新的内容,因此恳请您能够耐心的读完系列文章。

5、疑问:

5.1、接下来将该如何表演,如何才能让上述的配置文件生效?他能做什么呢?