分享
 
 
 

osworkflow 小培训(2)

王朝java/jsp·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

api-基本:

§sworkflow提供了集中工作流实现方式:

BasicWorkflow

EJBWorkflow

Ofbizworkflow

§创建新的工作流实例,执行action

Workflow workflow = new BasicWorkflow("testuser");

DefaultConfiguration config = new DefaultConfiguration();

workflow.setConfiguration(config);

long workflowId = workflow.initialize("mytest", 1, null);

workflow.doAction(workflowId, 1, null);

api-abstractworkflow:

§osworkflow中有关工作流流转的所有核心代码都在AbstractWorkflow中,BasicWorkflow就是派生自它,可以从AbstractWorkflow派生自己的Workflow类以加入扩展功能

§最重要的方法doAction

§其他主要功能:Initialize、executeFunction、众多get方法、query、state相关、等等

api-配置文件相关:

§Configuration实例负责系统配置的加载。AbstractWorkflow会调用其load方法,该方法内部会查找一个名为osworkflow.xml的配置文件,并对其解析。

§WorkflowFactory包括XMLWorkflowFactory 、JDBCWorkflowFactory、URLWorkflowFactory,作用即是加载各个不同的工作流定义,维护一个map。

§WorkflowLoader的作用实现配置文件的读取

§WorkflowDescriptor的作用将平面的xml流转化为osworkflow内部所使用的具有真正意义的对象。

§其他不同的descriptor,如(step、action…………)之间的关系。

其他不同的descriptor,如(step、action…………)之间的关系。

api-查询:

§目的:希望了解流程当前的运行状况à查询

§WorkflowQuery及其相关类(query包)

§ WorkflowQuery queryLeft = new WorkflowQuery(

WorkflowQuery.OWNER, WorkflowQuery.CURRENT, WorkflowQuery.EQUALS, “test");

WorkflowQuery queryRight = new WorkflowQuery(

WorkflowQuery.STATUS, WorkflowQuery.CURRENT, WorkflowQuery.EQUALS, “Underway");

WorkflowQuery query = new WorkflowQuery(

queryLeft, WorkflowQuery.AND, queryRight);

List workflows = wf.query(query);

for (Iterator iterator = workflows.iterator(); iterator.hasNext();)

Long wfId = (Long) iterator.next();

}

§AbstractWorkflow导向workflowstore进行实际查询,最后将查询结果存储与arraylist中

§目的:希望了解流程当前的运行状况à查询

§WorkflowQuery及其相关类(query包)

§ WorkflowQuery queryLeft = new WorkflowQuery(

WorkflowQuery.OWNER, WorkflowQuery.CURRENT, WorkflowQuery.EQUALS, “test");

WorkflowQuery queryRight = new WorkflowQuery(

WorkflowQuery.STATUS, WorkflowQuery.CURRENT, WorkflowQuery.EQUALS, “Underway");

WorkflowQuery query = new WorkflowQuery(

queryLeft, WorkflowQuery.AND, queryRight);

List workflows = wf.query(query);

for (Iterator iterator = workflows.iterator(); iterator.hasNext();)

Long wfId = (Long) iterator.next();

}

§AbstractWorkflow导向workflowstore进行实际查询,最后将查询结果存储与arraylist中

api-用户管理:

§OSWorkflow在用户管理方面所提供的功能,主要包括用户的创建、群组的定义、用户验证、以及对step执行人的跟踪记录和执行权限的判断等等

§用户/群组的管理是由UserManager来完成的

§代码中详细讲解

代码中详细讲解

osworkflow任务管理:

§OSWorkflow引擎只负责了“流程的运转”,当然这个运转会根据你所定义的Action和condtion来判断。

§Condition—条件判断

§Function(pre and post)--Step、action、result执行过程需要调用的功能

§FunctionProvider接口、execute方法

§<step id="4" name="Assign">

§ <pre-functions>

§ <function type="class">

§ <arg name="class.name">nucleus.assign.AssignmentFunction</arg>

§ <arg name="Participant">A</arg>

§ <arg name="ParticipantType">role</arg>

<arg name="actionID">22</arg>

§ </function>

§ </pre-functions>

§ <actions>

§ ······

§ </actions>

§ </step>

</step>

osworkflow的schedule:

§定时执行某项任务的功能,Quartz

§<function type="class">

<arg name="class.name">com.opensymphony.workflow.util.ScheduleJob</arg>

<arg name="triggerId">1</arg>

<arg name="jobName">testJob</arg>

<arg name="triggerName">testTrigger</arg>

<arg name="groupName">test</arg>

<arg name="repeat">10</arg>

<arg name="repeatDelay">2000</arg>

<arg name="cronExpression">0,5,10,15,20,25,30,35,40,45,50,55 * * * * ?</arg>

<arg name="username">test</arg>

<arg name="password">test</arg>

<arg name="local">true</arg>

<arg name="schedulerStart">true</arg>

</function>

§Trigger和jobDetail,trigger触发条件满足后,则会激活真正的job实例,job实例真正执行的是trigger function(在配置文件中定义)

最后讲解osworkflow自带小例子,约1小时40分钟讲完。以上为ppt 的基本内容。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有