2011-05-31 40 views
0

我没有获得关于如何处理异常的链接或材料4.4 任何机构都有任何指示或链接,请更新我。JBPM 4.4异常处理

感谢 拉维

回答

1

,你可以在这样

<node name="Update Ops DC Review"> 
    <action class="com.vis.vt.client.dc.process.handler.OperationsReviewActionHandler" name="discontinuanceActionHandler"></action> 
    <exception-handler exception-class="java.lang.Exception"> 
     <action name="exceptionHandler" class="com.vis.vt.client.dc.node.ExceptionHandler"></action> 
    </exception-handler> 
    <transition to="Approve Client DC" name="Accept"></transition> 
    <transition to="Complete" name="Deny"></transition> 
</node> 

节点级别处理异常和这里是异常处理类代码如上面提到的XML;

public class ExceptionHandler extends NodeHandler implements ActionHandler { 

private static final long serialVersionUID = 1322446214823660013L; 

public void execute(ExecutionContext context) throws Exception { 

    HelpDeskTaskData helpDeskTaskData = new HelpDeskTaskData(); 

    ProcessInstance pi = context.getProcessInstance(); 

    Node node = context.getToken().getNode(); 

    String errorNodeName = node.getName(); 

    long processInstanceId = pi.getId(); 
    Throwable cause = context.getException(); 

    Date currentDate = new Date(); 
    String processName = pi.getProcessDefinition().getName(); 

    helpDeskTaskData.setErrorNodeName(errorNodeName); 
    helpDeskTaskData.setProcessInstanceId(processInstanceId); 
    helpDeskTaskData.setCause(cause); 
    helpDeskTaskData.setCurrentDate(currentDate); 
    helpDeskTaskData.setSourceProcessName(processName); 

    ITaskData taskData = (ITaskData) context.getVariable("taskData"); 
    helpDeskTaskData.setComposedTaskData(taskData); 

    pi.suspend(); 

    ProcessEngine processEngine = ProcessEngine.getInstance(); 
    processEngine.publish(helpDeskTaskData); 

} 

}