jbpm4.4学习总结(三)常用接口使用说明(二)

2014-11-24 08:56:38 · 作者: · 浏览: 4
userId);
方式三:
processEngine.getTaskService().assignTask(taskId, userId);
组任务
方式一:指定candidate-users属性
可以指定为具体的String(多个人之间用英文的逗号隔开);
也可以指定一个流程变量,会使用计算出的结果(结果要是String型,多个人之间用英文的逗号隔开)表示候选人。
方式二:
AssignmentHandler中
assignable.addCandidateUser(userId); // 添加一个组成员(候选人)
方式三:
processEngine.getTaskService().addTaskParticipatingUser(taskId, userId, Participation.CANDIDATE);
到这里,有关AssignmentHandler的问题都差不多了
2.DecisionHandler
DecisionHandler接口的作用就是根据你给传入的条件进行判断,然后返回一条让你往下继续执行的线,就跟做决定一样。
public class DaysCheckHandler implements DecisionHandler {

@Override
public String decide(OpenExecution execution) {
//加入判断天数的逻辑
String days =execution.getProcessInstance().getVariable("days").toString();
float day = Float.parseFloat(days);
if(day>3){
return "MoreThan3Days";
}else{
return "LessThan3Days";
}
}
}
获取前面流过来的"days" 然后返回那条线的名字就OK,XML配置见上文,so easy
这两个接口还是比较常用的,我用的方式是比较简单的,但是jbpm比我们想象的灵活多了,尤其是AssignmentHandler,可以加上权限等等,一个实现服务多个用户我觉得应该也是能实现的,唉~~设计模式没学好,晚上继续看!!!