1
TransactionRequiredException的可能原因是什么?javax.persistence.TransactionRequiredException的可能原因
javax.ejb.EJBTransactionRolledbackException: JBAS011469:
Transaction is required to perform this operation
(either use a transaction or extended persistence context)
我们在JNDI接口,我们对应用程序容器运行从一个正常的JVM测试的设置(JBoss的7)。我们有一个每晚都会运行这个代码的夜间构建,它通常会成功。然而,有时在执行一段时间后,所有测试开始失败,出现上述异常而没有任何代码更改。任何外部问题都可以导致这一点我们有磁盘空间,并且由于异常通过网络传递,我认为网络也很好。可以在任何下列原因的例外是这样的:
- 文件描述符缺乏
- 休眠有出的内存谈话的数据库(MySQL的)
- CPU负载
- 问题
很抱歉,如果问题有点抽象,但我无法理解这个问题。所有解决方案和调试建议都受到欢迎。
的交易不只是随机消失。我会怀疑这是与数据库的连接有点负责任,但我会期待一种不同类型的错误(连接失败,更确切地说)。在这里你不会得到例外的事实让我感到困惑。 – Gimby
你能提供更多关于测试的信息吗?你有很多从客户端到服务器的客户端事务吗?服务器是否插入/修改数据库中的记录? SFSB,SLSB?目前我还会在数据库连接上下注我的钱,因为它是一个“随机”(又名“一段时间后的问题”),我将重点放在实体管理器上,也许尝试在每次请求后刷新和重置,以看看你能否提前解决问题。 –
所有会话bean都是无状态的。是的,我们做了很多交易。我们有大约500个测试,其中大部分都运行了很多交易。我会更多地关注数据库,感谢您的建议。 – toftis