`
songry
  • 浏览: 84610 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Jbpm5中的Could not commit session or rollback问题

阅读更多
在jbpm5中创建StatefulKnowledgeSession时,一旦创建过程出错,控制台的错误提示往往如下:Could not commit session or rollback

看似是JtaTransactionManager的相关问题,但实际情况真的如此吗?
其实不然,根据官方回答,这实际上是一个编码失误,用我们看到的异常掩盖了真实的异常。
详情在SingleSessionCommandService.java 的119 - 138行
try {
          this.txm.begin();

          //this.appScopedEntityManager.joinTransaction();
          registerRollbackSync();

          jpm.getApplicationScopedPersistenceContext().persist(this.sessionInfo );

            this.txm.commit();

        } catch ( Exception t1 ) {
            try {
                this.txm.rollback();//事务回滚,但原始异常丢失了
            } catch ( Throwable t2 ) {
            throw new RuntimeException( "Could not commit session or rollback", t2 );//这是我们看到的异常
            }
            throw new RuntimeException( "Could not commit session", t1 );
        }
所以,如果我们在调试中遇到这个异常,就需要下载drool-jbpm源码包
点此下载
来进行断点跟踪调试
分享到:
评论

相关推荐

    jbpm4jbpm5

    jbpm4jbpm5是关于jbpm流程管理框架的专题,涵盖了jbpm4和jbpm5两个主要版本。jbpm是一个开源的工作流管理系统,用于帮助开发者实现业务流程自动化。以下是基于给定文件的信息,深入解析jbpm4和jbpm5的知识点: 1. *...

    jbpm5环境配置、中文文档

    4. **Eclipse插件配置**:在Eclipse中配置jbpm5插件,这通常涉及到添加库依赖,将jbpm5的jar包导入到项目的构建路径中。同时,还需要配置Guvnor服务器的URL以便与之交互。 5. **数据库设置**:jbpm5需要一个数据库...

    jBPM5_用户手册-中文版

    本章讨论了如何在特定业务领域中应用 jBPM5,包括如何创建符合行业规范的流程,以及如何将 jBPM5 与其他业务系统集成。 第八章 持久化 持久化章节讲解了 jBPM5 如何保存和恢复流程实例的状态。这涉及到数据库配置、...

    jbpm5安装DEMO

    将下载的安装包解压缩至指定目录(例如`D:/jbpm5`),并在命令行中切换到此目录。 ##### 3. 执行安装脚本 使用Ant执行`install.demo`脚本,这将根据`build.xml`文件自动下载并安装jBPM5所需的一系列依赖组件,包括...

    jboss jbpm 5 developer guide

    本书《jBPM5 Developer Guide》是一本专注于JBoss jBPM5框架的Java开发者指南,由Mauricio Salatino和Esteban Aliverti撰写,2012年由Packt Publishing出版。jBPM5是JBoss企业业务流程管理(Business Process ...

    JBPM5基于tomcat web的应用

    【JBPM5基于Tomcat Web应用详解】 JBPM5是一个开源的工作流管理系统,它提供了全面的业务流程管理和工作流解决方案。这个项目是一个基于Web的JBPM5.2实例,特别设计用于在Apache Tomcat服务器上运行。理解这个应用...

    jbpm5 工作流

    在jBPM5中,工作流的持久化和流程流转是关键部分。首先,当启动一个任务流程时,会通过线程启动TaskServer,初始化OrganizationEntity,并将流程所需的groupId和actorId存储到数据库中。接着,根据.bpmn2或.bpmn文件...

    JBPM5 整合Spring3经典案例

    本案例主要关注如何在JBPM5中集成Spring3,以提升应用程序的可维护性和可扩展性。 ### 1. JBPM5简介 JBPM5是一款开源的工作流管理系统,它提供了一整套流程定义、执行和管理的工具。JBPM支持BPMN2.0标准,允许...

    JBPM5请假实例,完整版

    在这个"JBPM5请假实例,完整版"中,我们将深入探讨如何利用JBPM5来实现一个具体的请假流程,以及在这个过程中可能遇到的关键配置问题。 首先,我们要理解JBPM5的核心功能。JBPM5提供了一个强大的流程建模工具,它...

    jbpm4.1和jbpm5开发手册

    jbpm4.1和jbPM5是两个不同版本的Java Business Process Management(业务流程管理)框架,主要用于构建和管理业务流程。jbPM是Talend公司的一个开源项目,它提供了全面的工作流和业务流程管理解决方案,深受Java...

    JBPM5工作流引擎 S2SH+JBPM4.4开发工作流的一个完整的请假流程例子

    JBPM5工作流引擎 S2SH+JBPM4.4开发工作流的一个完整的请假流程例子。带有文档教程和所有源码+JAR包。在网上找了半天jbpm6\jbpm7的资料,都很少。所以 环境:Myeclipse2015 JDK1.7 mysql 5.0 Struts2+Spring3.1 1...

    JBPM5 插件安装

    在JBPM5中,插件的安装是扩展系统功能的重要手段,能够帮助用户实现特定的需求,如监控、报表、集成等。本文将详细讲解JBPM5插件的安装过程。 首先,我们需要理解JBPM5的核心组件。JBPM5主要包括工作流引擎、工作流...

    JBPM5入门学习.doc

    ### JBPM5入门学习知识点详解 #### 一、JBPM5简介 **1.1 什么是JBPM** JBPM(Java Business Process ...无论你是初学者还是有经验的开发者,都能从这份指南中受益,从而更好地掌握JBPM5并应用于实际项目中。

    jbpm5入门学习

    jbpm5入门学习资料

    jbpm5 web整合例子

    【jbpm5 web整合例子】是一个关于如何将JBPM5工作流引擎与Web应用程序整合的实践项目,适合那些想要在Web环境中使用业务流程管理(BPM)功能的开发者。JBPM5是一个开源的工作流和业务规则管理系统,它提供了一整套...

Global site tag (gtag.js) - Google Analytics