jbpm--(二)运行小例子

package com.tgb.video;


import java.util.List;

import org.jbpm.api.Configuration;
import org.jbpm.api.ExecutionService;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.ProcessInstance;
import org.jbpm.api.RepositoryService;
import org.jbpm.api.TaskService;
import org.jbpm.api.task.Task;

import junit.framework.TestCase;

public class testJbpm extends TestCase {

    //部署流程
    public void testDeploy(){
        ProcessEngine processEngine =  Configuration.getProcessEngine();
        RepositoryService repositoryService = processEngine.getRepositoryService();
        repositoryService.createDeployment().addResourceFromClasspath("test.jpdl.xml").deploy();
    }
    //创建流程实例
    public void createInstance(){
        ProcessEngine processEngine =  Configuration.getProcessEngine();
        //获取流程服务
        ExecutionService executionService = processEngine.getExecutionService(); 
        ProcessInstance processInstance =  executionService.startProcessInstanceByKey("test");
        System.out.println("流程实例ID=======" + processInstance.getId() );
    }
    //获取对应人员的任务
    public void getTask(){
        ProcessEngine processEngine =  Configuration.getProcessEngine();
        //获取节点服务
        TaskService taskService = processEngine.getTaskService();
        List<Task> tasks = taskService.findPersonalTasks("李四");
        System.out.println("任务数量==" +tasks.size());
        Task task = tasks.get(0);
        
        System.out.println("任务名词==" +task.getActivityName());
        System.out.println("任务人员==" +task.getAssignee() + "任务ID===" + task.getId());
    }
    //查询流程实例当前所在节点
    public void getCurrectActivity(){
        ProcessEngine processEngine =  Configuration.getProcessEngine();
        //获取流程服务
        ExecutionService executionService = processEngine.getExecutionService();
        String activityName = executionService.createProcessInstanceQuery().processInstanceId("test.10001").uniqueResult().findActiveActivityNames().toString();
        System.out.println("当前任务所在节点===" + activityName);
    }
    //完成任务节点向下推进
    public void completeTask(){
        ProcessEngine processEngine =  Configuration.getProcessEngine();
        TaskService taskService = processEngine.getTaskService();
        taskService.completeTask("30001");
    }
    
}

 

posted on 2017-07-15 16:39  code-java  阅读(600)  评论(0)    收藏  举报

导航