首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行时发生事务错误

执行时发生事务错误
EN

Stack Overflow用户
提问于 2015-08-19 12:09:46
回答 1查看 1.6K关注 0票数 0

我试图在Payara41服务器Java 7中解决这个错误,这个示例工作在WildFly-9 Java7EE和Glassfish-3.1JavaEE 6(没有@Transactional@TransactionalManagement)上。

代码语言:javascript
复制
@Stateful
@Transactional  //default TxType.REQUIRED
@TransactionManagement(TransactionManagementType.BEAN)
public class ImprovementDaoImpl extends AbstractBaseDaoClass implements ImprovementDao {

    /*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
    @PersistenceContext(unitName = "pu", type = PersistenceContextType.EXTENDED)
    private EntityManager em;
    @Resource
    private UserTransaction tx;
...
}

下面是一些堆栈跟踪,执行tx.flush();后的apperas

javax.transaction.TransactionalException: Managed bean with Transactional annotation and TxType of REQUIRED encountered exception during commit javax.transaction.RollbackException: Transaction marked for rollback. (...) Caused by: javax.transaction.RollbackException: Transaction marked for rollback.

到目前为止,我试着用拦截器和@TransactionAttribute,但是没有人帮上忙.

(谢谢你的建议/帮助!)

EN

回答 1

Stack Overflow用户

发布于 2019-05-28 20:34:38

我知道这很古老,但希望这能帮到外面的人.

问题21363423:Throwing an application exception causes TransactionalException

您正在从一个方法中抛出一个异常,该方法的调用将在运行时被拦截,并在其周围包装其他逻辑: 事务管理;异常处理 您的异常不能透明地跳过该逻辑,规范(可能)表示将抛出一个TransactionalException,包装原始异常.

问题18888572:How do you find out what Exception caused the CDI Transaction Rollback?

演示如何使用CDI拦截器捕获异常。我无法从OP的有限信息中知道他/她的具体问题是什么,但当我收到此异常时,我必须检查WebLogic服务器日志,并发现其中的条目告诉我违反了唯一的违禁品。是时候加入拦截器了..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32095130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档