paulwong

启动JBPM流程的代码

/**
     * 启动一个流程实例。
     * 
     * 
@param name
     *            流程名称。
     * 
@param version
     *            版本号,默认取最新版本。
     * 
@param formID
     *            与业务相关的表单编号,可选字段。 该参数的含义为:业务系统可以在填写完表单信息后,将表单实例的ID作为流程实例变量
     *            保存到工作流系统中,通过该ID可以在业务系统中查找表单信息。当然,也可以将表单实 际信息按照字段进行留成实例变量赋值。
     * 
@param actor
     *            流程实例发起人。
     * 
@return 实例ID号+任务实例ID(如果有),格式‘实例ID-任务实例ID’。
     
*/

    
public String startProcessInstance(String name, int version, String formID,
            String actor);
        jbpmContext 
= jbpmConfiguration.createJbpmContext();
        
try {
            ProcessDefinition def;
            
if (version == 0{
                def 
= jbpmContext.getGraphSession()
                        .findLatestProcessDefinition(name);
            }
 else {
                def 
= jbpmContext.getGraphSession().findProcessDefinition(name,
                        version);
            }

            ProcessInstance instance 
= new ProcessInstance(def);            
            TaskInstance taskInstance 
= instance.getTaskMgmtInstance().createStartTaskInstance();                
            
            
if ((formID != null&& (!formID.equals("")))
                instance.getContextInstance()
                        .setVariable(
                                name 
+ "-" + version + "-" + instance.getId()
                                        
+ "-Form", formID);
            jbpmContext.save(instance);
            String rtn 
= String.valueOf(instance.getId());
            
            
//如果有启动任务
            if (taskInstance != null){
                taskInstance.setActorId(actor);
                rtn 
+= "-" + String.valueOf(taskInstance.getId());
            }
else{
                instance.getRootToken().signal();
            }

            
return rtn;
        }
 catch (Exception e) {
            e.printStackTrace();
            log.error(e.getMessage());
        }
 finally {
            jbpmContext.close();
        }

        
return "";
    }

posted on 2008-12-31 12:16 paulwong 阅读(938) 评论(0)  编辑  收藏 所属分类: JBPM


只有注册用户登录后才能发表评论。


网站导航: