StarFlow 工作流--自由流

[b]什么是自由流 [/b]

所谓“自由流”是指当一个活动运行完成后,将被启动、运行的后继活动不是由引擎根据连接线上的条件判断,而是由当前活动的参与者根据流程定义时的设置,在“可选择的活动范围内”动态指定,可以是一个也可以是多个。“可选择的活动范围”在流程定义时设置,具体内容请参考附件文档(来自EOS文档)

流程图:

[img]http://dl.iteye.com/upload/attachment/195136/ce59d003-6567-388d-a39b-ba8b4796e47c.gif[/img]


实例代码:

ProcessEngine processEngine = new Configuration().buildProcessEngine();
IProcessDefineService procDefService = processEngine.getProcessDefineService();
IProcessInstanceService procInstService = processEngine.getProcessInstanceService();
IWorkItemService workItemService = processEngine.getWorkItemService();

//清除测试数据
TestUtil.cleanData(processEngine.getApplicationContext());

//部署流程
procDefService.deployProcessFile("test/freeFlow/freeFlow.xml");

//添加日志filter
processEngine.addFilter(new LoggerProcessFilter());
//保存流程运行轨迹
processEngine.addFilter(new TransCtrlFilter());

//启动并创建流程
ProcessInstance processInstance = procInstService.createAndStartProcess("freeFlow", "100001");

List<String> actIds = new ArrayList<String>();
actIds.add("A03");
ActivityRelaDataManager.setNextFreeActs(actIds);
//流程从监控环节跳到归档环节
workItemService.finishWorkItem(1, "100001");

workItemService.finishWorkItem(2, "100001");


运行过程:

2010-1-18 19:22:02 com.starit.wf.service.filter.LoggerProcessFilter processCreate
信息: 流程【freeFlow】创建成功, 流程实例ID = 1
2010-1-18 19:22:02 com.starit.wf.service.filter.LoggerProcessFilter processStart
信息: 流程【freeFlow】启动成功, 流程实例ID = 1
2010-1-18 19:22:02 com.starit.wf.service.filter.LoggerProcessFilter acitivityStart
信息: 环节【开始活动】创建成功, 环节实例ID = 1
2010-1-18 19:22:02 com.starit.wf.service.filter.LoggerProcessFilter acitivityComplete
信息: 环节【开始活动】执行完成, 环节实例ID = 1
2010-1-18 19:22:02 com.starit.wf.service.filter.LoggerProcessFilter acitivityStart
信息: 环节【监控】创建成功, 环节实例ID = 2
2010-1-18 19:22:02 com.starit.wf.service.filter.LoggerProcessFilter acitivityComplete
信息: 环节【监控】执行完成, 环节实例ID = 2
2010-1-18 19:22:02 com.starit.wf.service.filter.LoggerProcessFilter acitivityStart
信息: 环节【归档】创建成功, 环节实例ID = 3
2010-1-18 19:22:02 com.starit.wf.service.filter.LoggerProcessFilter acitivityComplete
信息: 环节【归档】执行完成, 环节实例ID = 3
2010-1-18 19:22:02 com.starit.wf.service.filter.LoggerProcessFilter acitivityStart
信息: 环节【结束活动】创建成功, 环节实例ID = 4
2010-1-18 19:22:02 com.starit.wf.service.filter.LoggerProcessFilter acitivityComplete
信息: 环节【结束活动】执行完成, 环节实例ID = 4
2010-1-18 19:22:02 com.starit.wf.service.filter.LoggerProcessFilter processComplete
信息: 流程【freeFlow】运行完成, 流程实例ID = 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值