怎么样学会分析osworkflow的config代码?
我们知道,分别有BasicWorkflow,EJBWorkflow,SOAPWorkflow,OfbizWorkflow等实现了
Workflow的接口,但这些实现肯定有一些可以重用的代码,这就是AbstractWorkflow.
工作流configuration的load就是在AbstractWorkflow中调用config包实现的,而且由它负责
控制只能解析一次文件.
com.opensymphony.workflow.config包中,Configuration是一个接口,分别有
DefaultConfiguration和SpringConfiguration两个实现.
我们知道,一般的有osworkflow.xml文件内容如下:
<osworkflow>
<persistence class="com.opensymphony.workflow.spi.memory.MemoryWorkflowStore"/>
<factory class="com.opensymphony.workflow.loader.XMLWorkflowFactory">
<property key="resource" value="workflows.xml" />
</factory>
</osworkflow>
系统解析过程如下:
1)DefaultConfiguration中,getInputStream()方法负责load上面的osworkflow.xml文件
它按这样的顺序来找:
指定的URL;osworkflow.xml;/osworkflow.xml;META-INF/osworkflow.xml;
/META-INF/osworkflow.xml
2)找到文件后,load()方法解析文件,并load相应的工厂类.
本文地址:http://www.45fan.com/bcdm/67655.html