0
A
回答
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);
}
}
相关问题
- 1. 如何处理jBPM的工作流程错误或异常
- 2. JBPM 4.4资源适配器
- 3. 异常处理
- 4. 处理异常
- 5. 异常处理
- 6. 异常处理
- 7. 异常处理
- 8. 异常处理
- 9. 处理异常
- 10. 异常处理
- 11. 异常处理
- 12. 异常处理
- 13. 异常处理
- 14. 异常处理?
- 15. 异常处理
- 16. 异常处理
- 17. 异常处理
- 18. 异常处理
- 19. AllegroServe异常处理
- 20. InvokeRequired异常处理
- 21. php:autoload异常处理
- 22. Java异常处理
- 23. laravel:异常处理
- 24. WCF异常处理
- 25. C++异常处理
- 26. wxWidgets异常处理
- 27. C#异常处理
- 28. log4j异常处理
- 29. Java异常处理
- 30. jQuery异常处理