您的位置:首页 > 产品设计 > 产品经理

JBPM 4.4 学习笔记01----基本步骤

2013-10-15 14:27 501 查看
package com.zsj.test.jbpm;

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 org.junit.BeforeClass;
import org.junit.Test;
/**
* 基本步骤
* 一 构建流程
* 二 部署流程
* 三 生成流程实例
* 四 处理任务以及流程扭转
* @author hadoop
*
*/
public class TestJbpm {
static ProcessEngine processEngine = null;

@BeforeClass
public static void setUpBeforeClass() throws Exception {
processEngine = Configuration.getProcessEngine();
}

/**
* 部署流程
*/
@Test
public void deploy() {
try {

RepositoryService repositoryService = processEngine
.getRepositoryService();
repositoryService.createDeployment()
.addResourceFromClasspath("test.jpdl.xml")
.addResourceFromClasspath("test.png").deploy();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

/**
* 启动流程实例
*/
@Test
public void createInstance() {
// ProcessEngine processEngine = Configuration.getProcessEngine();
ExecutionService executionService = processEngine.getExecutionService();
ProcessInstance processInstance = executionService
.startProcessInstanceByKey("test");
System.out.println(processInstance.getId());
}

/**
* 获取指定人员要处理的任务
*/
@Test
public void getTask() {
TaskService taskService = processEngine.getTaskService();
List<Task> tasks = taskService.findPersonalTasks("李四");
for (int i = 0; i < tasks.size(); i++) {
System.out.println("who " + tasks.get(i).getAssignee() + "taskId"
+ tasks.get(i).getId());
System.out.println("节点名称 " + tasks.get(i).getActivityName());
}
}

/**
* 获取当前节点名称
*/
@Test
public void getCurrentActivity() {
ExecutionService executionService = processEngine.getExecutionService();
String name = executionService.createProcessInstanceQuery()
.processInstanceId("test.40001").uniqueResult()
.findActiveActivityNames().toString();
System.out.println(name);
}

/**
* 完成任务推进
*/
@Test
public void completeTask() {
TaskService taskService = processEngine.getTaskService();
taskService.completeTask("40001");
}
}

设置流程变量

public void createInstance() {
// TODO Auto-generated method stub
super.startUp();
Map<String, String> map = new HashMap<String, String>();
map.put("id", "000001");
map.put("name", "zuoshunjian");
ProcessInstance processInstance = this.executionService
.startProcessInstanceByKey("test", map);
super.print("流程实例ID", processInstance.getId());
}
获取流程变量[/code]
/**
* 获取流程变量
*/
@Test
public void getVariable() {
super.startUp();
String idString = this.executionService.getVariable("test.10001", "id")
.toString();
super.print("流程实例变量ID", idString);
}
修改流程变量[/code]
public void updateVariable() {
super.startUp();
this.executionService.setVariable("test.10001", "id", "00002");
String idString = this.executionService.getVariable("test.10001", "id")
.toString();
System.out.println(idString);
}


[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: