`
zhutuncun0
  • 浏览: 22629 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JBPM4 流程回退实现方法

    博客分类:
  • JBPM
阅读更多
在JBPM4流程设计中,让让当前节点回退到该节点以前的任意节点,如图,如果想从task3回到task1,可以使用的方法有:
①创建一个Transition对象,从task3到task1
/** 
* 动态创建连接当前任务节点至名称为destName的节点的Transition 
* @param taskId 任务节点ID 
* @param sourceName 源节点名称 
* @param desName  目标节点名称 
*/  public void addOutTransition(ProcessDefinitionImpl pd,String sourceName,String desName){
ProcessEngine pe = Configuration.getProcessEngine();
EnvironmentFactory ef =(EnvironmentFactory)pe;
EnvironmentImpl evti = null;
try{
evti = ef.openEnvironment();

ActivityImpl sourceActivity = pd.getActivity(sourceName);

TransitionImpl tran = sourceActivity.createOutgoingTransition();
ActivityImpl desActivity = pd.getActivity(desName);

tran.setName("to"+desName);
tran.setDestination(desActivity);

sourceActivity.addOutgoingTransition(tran);

}catch(Exception e){
e.printStackTrace();
}finally{
if(evti != null)evti.close();
}

}
/** 
* 动态删除连接sourceName与destName的Transition 
* @param taskId 
* @param sourceName 
* @param desName 
*/ 
public void removeOutTransition(ProcessDefinitionImpl pd,String sourceName,String destName){  
EnvironmentFactory environmentFactory = (EnvironmentFactory) processEngine;  
EnvironmentImpl env=null;  
try {  
     env = environmentFactory.openEnvironment();  
     //取得当前流程的活动定义  
     ActivityImpl sourceActivity = pd.findActivity(sourceName);  
       
     //若存在这个连接,则需要把该连接删除  
     List<Transition> trans=(List<Transition>) sourceActivity.getOutgoingTransitions();  
     for(Transition tran:trans){  
    if(destName.equals(tran.getDestination().getName())){//删除该连接  
            trans.remove(tran);  
            break;  
        }  
     }  
}catch(Exception ex){  
      
}finally{  
     if(env!=null)env.close();  
}  

这样再通过take()、completeTask()等方法就可以回退了
②调用ProcessEngin.execute()方法
③调用ExecutionImpl.moveTo()方法
推荐使用第一种
  • 大小: 11.3 KB
分享到:
评论

相关推荐

    JOffice2中的JBPM4的任务回退实现

    本文将深入探讨如何在JOffice2中实现JBPM4任务的回退功能,这在处理复杂流程时尤其重要,允许用户纠正错误或根据需要调整流程方向。 任务回退在JOffice2中有两种主要的实现方式: 1. **完成当前任务并生成新的后退...

    JBPM4.4实现一种无需指定上一节点(previous activity)的流程驳回(回退)

    总结来说,这个知识点主要涵盖了如何在JBPM 4.4中实现一种智能的流程回退机制,它通过分析流程实例的状态和历史记录,使得流程能够灵活地回退到合适的位置,而无需硬编码回退目标。这对于优化业务流程、提高用户体验...

    JBPM7基础开发

    JBPM7 基础开发是基于流程引擎的开发方式和实现方式的简单说明。流程引擎是一个自动化管理和优化流程的工具,旨在提高不同部门之间业务的整合效率,降低开发和维护成本。 概念1:BPM(业务流程管理) BPM 是一种...

    jbpm4.4 请假的例子,包含Jar包,实现回退功能可以运行

    开发者可以通过它了解如何设计和实现一个实际的业务流程,同时掌握回退功能的实现方法。 总之,JBPM4.4的请假流程实例是一个全面展示流程管理能力的案例,它涵盖了从流程设计、部署到运行的全过程,并特别强调了回...

    jbpm工作流程的说明文档

    例如,它未直接支持“回退”、“取回”、“会签”、“委派”等功能,这些在中国被认为是常见的业务场景。然而,通过深入理解jbpm的架构和设计思路,开发者可以探索并实现这些特定需求的解决方案,以满足中国特色的...

    应用jBPM4解决中国特色的流程需求

    - 在中国的流程自动化和信息化场景中,面对会签、回退等特殊流程处理需求,jBPM4能够提供相应的解决方案。 在实际应用中,jBPM4的上述技术特点和功能可以帮助企业更好地管理和优化流程,从而提高效率和透明度。...

    jbpm Demo 可以走通一个简单的流程

    9. **异常处理与回退**:jbpm允许定义异常处理和回退策略,当流程执行过程中遇到问题时,可以根据预设规则进行错误恢复或流程回滚。 10. **持久化与事务管理**:jbpm使用JPA(Java Persistence API)进行数据持久化...

    JBPM视屏教程共9节 jBPM 4视频教程06流程驳回

    【标题】"JBPM视屏教程共9节 jBPM 4视频教程06流程驳回"揭示了关于企业级工作流管理系统jBPM的重要学习资源,特别关注了流程的回退操作。jBPM是一个开源的工作流程管理系统,用于设计、执行、管理和监控业务流程。在...

    Extjs4+jbpm4+SSH+oracle.zip

    业务流程执行:流程的启动、任务的提交、回退、撤销、取回、处理任务等操作、 实用需求实现:执行权限、工作流留痕、事务提醒 只需一套实现,你的业务只要在挂接中配置则可以具有工作流功能 业务方面:OA项目实战...

    JBPM视屏教程共9节 jBPM 4视频教程05发起新流程

    9. **回退和重试机制**:可能涉及如何处理流程中的错误,以及如何设计和执行回退策略。 这些知识点构成了一套完整的入门教程,帮助开发者了解并掌握jBPM 4的基础操作和核心概念。通过观看视频、阅读PDF文档和查看...

    JBPM4开发指南代码

    - 提供API进行流程实例的控制,如挂起、激活、终止流程实例,以及对当前活动的回退和前进操作。 - 可以通过信号、事件来影响流程的执行路径,实现动态流程控制。 8. **监听器与扩展** - jbPM4允许添加自定义监听...

    jbpm4.4 demo

    7. **异常处理**:掌握如何在流程中处理异常情况,如错误处理、回退机制等。 总之,【jbpm4.4 demo】是一个宝贵的学习资源,对于想要理解和应用jbpm的开发者来说,它可以提供实践操作的经验,帮助他们更好地理解和...

    jbpm工作流整合

    9. **错误处理和补偿**:jbpm支持异常处理和流程回退,允许在流程执行中处理错误,并通过补偿任务修复流程状态。 10. **持续集成与自动化测试**:通过Maven或Gradle等构建工具,可以设置持续集成流程,同时编写测试...

    基于JBPM 的特殊工作流研究与实现

    这种做法允许流程设计者为每个任务定义明确的回退路径,从而能够实现复杂和多层次的任务回退逻辑。这样不仅提高了任务回退的灵活性和可控性,也大大简化了实现难度,使得开发人员能更专注于业务逻辑本身,而不必深陷...

    jbpm使用简单示例

    这一操作可以通过一个Struts Action实现,触发jbpm流程的启动。 2. **部门经理审批**:报销申请提交后,流程会流转到部门经理进行审批。jbpm可以根据预定义的规则判断审批权限,并发送通知。 3. **财务审核**:...

    jBPM4工作流应用开发指南02.pdf

    - **人力资源管理**:如何使用jBPM4实现员工入职、离职等流程的自动化。 - **订单处理**:展示如何构建一个涵盖多个部门协作的订单处理工作流。 本指南详细介绍了jBPM4的各个方面,包括基础概念、建模方法、流程...

    jbpm3基本资料和代码总结

    - **流程执行**: 支持并发、分支、循环等复杂流程结构,以及异常处理和回退机制。 - **任务管理**: 包括任务的分配、领取、委托和监控。 - **规则集成**: 集成了Drools规则引擎,使得流程可以根据业务规则动态变化...

    jbpm4.4API

    8. **流程实例的控制和调试**:API提供了丰富的功能,如挂起、激活、回退和跳过流程节点,这对于测试和调试流程行为至关重要。 9. **规则引擎集成**:JBPM集成了Drools规则引擎,允许在流程中嵌入复杂的业务规则。...

    JBPM与Activity分析.doc

    FixFlow不仅支持常见的工作流功能,如加签、会签、回退等“中国式工作流”,而且提供了更为友好的用户界面和更完善的本地化支持。 #### 五、总结 综上所述,JBPM与Activiti各有千秋,在不同的应用场景下展现出不同...

Global site tag (gtag.js) - Google Analytics