Shark api 应用:判断流程进行到了哪个活动

类别:Java 点击:0 评论:0 推荐:

// 假设我们定义了流程PROC1, 它定义了3个活动ACT1, ACT2, ACT3

ExecutionAdministration ea = Shark.getInstance().getAdminInterface().getExecutionAdministration();
ea.connect(userName, password, engineName, null);

AdminMisc am = Shark.getInstance().getAdminInterface().getAdminMisc();

// 流程实例序号, 已知
String procId = "1_1_proc1";
// 活动实例序号
String actId = "";

// 获得流程实例到目前为止所创建的活动实例
WfActivity[] wfas = ea.getProcess(procId).get_sequence_step(0);

if ( wfas != null && wfas.length > 0 )
{
    // 获得最后一个活动实例的序号
    actId = wfas[wfa.length - 1].key();
}

// 获得流程定义序号,在这里获得PROC1
String procDefId = am.getProcessDefinitionId(procId);
// 获得活动定义序号,在这里获得ACT1, ACT2, ACT3之一
String actDefId = am.getActivityDefinitionId(procId, actId);

// p.s. 可以看到,使用Shark.getInstance().getAdminInterface()方法,可以获得Shark的管理工具类,其中的api可以获取很多需要的信息

本文地址:http://com.8s8s.com/it/it13536.htm