WEB开发网
开发学院软件开发Java 使用jBpm支持高级用户交互模式 阅读

使用jBpm支持高级用户交互模式

 2010-01-21 00:00:00 来源:WEB开发网   
核心提示: 超时不是发生在任务自身,而是发生在任务节点上,使用jBpm支持高级用户交互模式(9),由于某个节点可以关联多个任务,并且jBPM关系实现并不是双向的(见上),因此要跟踪当前任务实例就需要其他的支持手段,以重新分配实现的上报的整个实现涉及3个处理器:负责给任务分配参与者的分配处理器

超时不是发生在任务自身,而是发生在任务节点上。由于某个节点可以关联多个任务,并且jBPM关系实现并不是双向的(见上),因此要跟踪当前任务实例就需要其他的支持手段。

以重新分配实现的上报的整个实现涉及3个处理器:

负责给任务分配参与者的分配处理器。这个处理器跟踪它是一个首次任务调用还是一个上报任务调用。清单14给出了一个分配处理器的例子。

package com.sample.action; 
 
import org.jbpm.graph.def.Node; 
import org.jbpm.graph.exe.ExecutionContext; 
import org.jbpm.taskmgmt.def.AssignmentHandler; 
import org.jbpm.taskmgmt.exe.Assignable; 
 
 
public class EscalationAssignmentHandler implements AssignmentHandler { 
 
 private static final long serialVersionUID = 1L; 
 
 @Override 
 public void assign(Assignable assignable, ExecutionContext context) 
 throws Exception { 
 
 
 Node task = context.getToken().getNode(); 
 if(task != null){ 
  String tName = task.getName(); 
 
 
  String vName = tName + "escLevel"; 
  Long escLevel = (Long)context.getVariable(vName); 
  if(escLevel == null){ 
  // First time through 
  assignable.setActorId("admin"); 
  } 
  else{ 
  // Escalate 
  assignable.setActorId("bob"); 
  } 
 } 
 } 
}

上一页  4 5 6 7 8 9 10  下一页

Tags:使用 jBpm 支持

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接