设为首页 加入收藏

TOP

JBPM-动态的赋值任务申请人
2014-11-23 22:59:24 来源: 作者: 【 】 浏览:8
Tags:JBPM- 动态 任务 申请人

JBPM-动态的赋值任务申请人:



< xml version="1.0" encoding="UTF-8" >


http://jbpm.org/4.4/jpdl">
















public class MyAssignmentHandler implements AssignmentHandler{


@Override
public void assign(Assignable assignable, OpenExecution execution)
throws Exception {
String manager = execution.getVariable("manager").toString();//execution的上下文
assignable.setAssignee(manager);
}

}


/**
* 给任务的执行人动态的赋值
* * 在*.jpdl.xml文件中
* 在task元素中
*
*
*

*

* 可以在MyAssignmentHandler中给当前的任务赋值执行人,当进入当前节点时,assign方法执行
* * 在*.jpdl.xml文件中
*
* assignee可以通过流程变量的方式进行赋值
* 在执行该任务节点之前,必须给applicator赋值
* * 可以通过taskService.assignTask(String taskId,String userId);给正在执行的任务赋值任务的执行人
* @author Administrator
*
*/
public class TaskTest extends BaseJbpm{
@Test
public void testDeploy(){
processEngine.getRepositoryService()
.createDeployment()
.addResourceFromClasspath("cn/itcast/jbpm0909/task/task.jpdl.xml")
.deploy();
}

@Test
public void testStartPI(){
Map variables = new HashMap();
variables.put("manager", "王二麻子");
variables.put("applicator", "张三");
processEngine.getExecutionService()
.startProcessInstanceById("task-2",variables);
}

@Test
public void testFinishTask(){
processEngine.getTaskService()
.completeTask("150004");
}

@Test
public void testAssigneeWhenTask(){
/**
* 该API只能给当前的任务赋值
*/
processEngine.getTaskService()
.assignTask("290001", "王二麻子的哥");
}
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇AVL树-自平衡二叉查找树(Java实现) 下一篇JQuery打造下拉框联动效果

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: