在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源码包
点此下载
来进行断点跟踪调试
分享到:
相关推荐
jbpm应用开发指面(胡奇) jbpm4.3表结构和表字段说明 [jBPM开发指南].高杰.文字版 jBPM5_用户手册-中文版
JBPM5增加了很多新特性,这里转载了其他网友的中文文档。其中的部分翻译有待商榷,可以参照英文,大部分的翻译是不错的。
JBPM5入门学习 JBPM5.4中文手册
JBPM5.1入门学习 jBPM5_用户手册-中文版 jbpm5环境配置-myeclipse
1.6 jBPM控制台 5 1.7 文档结构 6 第二章 获得开始 7 2.1 下载 7 2.2 获得开始 7 2.3 社区 8 2.4 资源 8 2.41许可证 8 2.42 源代码 9 2.4.3 从源文件构建 9 第三章 安装 9 3.1 必备的 9 3.2 下载 installer 9 3.3 ...
JBPM5工作流引擎 S2SH+JBPM4.4开发工作流的一个完整的请假流程例子。带有文档教程和所有源码+JAR包。在网上找了半天jbpm6\jbpm7的资料,都很少。所以 环境:Myeclipse2015 JDK1.7 mysql 5.0 Struts2+Spring3.1 1...
jbpm5入门学习资料
jbpm5安装DEMO
1.6 jBPM控制台 5 1.7 文档结构 6 第二章 获得开始 7 2.1 下载 7 2.2 获得开始 7 2.3 社区 8 2.4 资源 8 2.41许可证 8 2.42 源代码 9 2.4.3 从源文件构建 9 第三章 安装 9 3.1 必备的 9 3.2 下载 installer 9 3.3 ...
jbpm5 PDF 帮助文档 jbpm5 PDF 帮助文档
中文版JBPM5用户指南 JBPM5 JBPM5教程
jBPM5_用户手册-中文版
jBPM能够运行在任何Java环境中,既可以嵌入到应用中,也可以作为服务运行。除此之外,它还通过大量工具对整个生命周期中的业务流程提供支持,它面向开发者与业务用户。这些工具包括Eclipse插件、基于Web的设计器、...
做好myeclipse集成后,按官方的文档做第一个例子即可。 ... 一般不会的问题,从官方找就行,但上面说的也不详细,...现在jbpm5的资料太少,如果谁有一些实例加说明,能给俺分享一下就好啦。无论是跟帖还是回复的方式。
JBPM5表结构 亲手整理, H2转换成SQL SERVER
jbpm4.3 中文文档 jbpm4.3 中文文档
jbpm中文帮助文档
jbpm中文用户指南,涵盖jbpm所有内容!
jBPM5 用户指南中文版