java - javax.persistence.TransactionRequiredException 的可能原因

标签 java jboss

TransactionRequiredException 的可能原因是什么?

javax.ejb.EJBTransactionRolledbackException: JBAS011469:
Transaction is required to perform this operation
(either use a transaction or extended persistence context)

我们有一个设置,可以通过 JNDI 接口(interface)从普通 JVM 向应用程序容器 (jboss 7) 运行测试。我们有一个夜间构建,每天晚上都会运行此代码,并且通常会成功。然而,有时,在执行一定时间后,所有测试都开始失败,并出现上述异常,而无需更改任何代码。任何外部问题都会导致这种情况吗?我们有磁盘空间,并且由于异常是通过网络传递的,我认为网络也很好。以下任一情况是否会导致这样的异常:

  • 缺少文件描述符
  • Hibernate 与数据库 (mysql) 通信时出现问题
  • CPU 负载
  • 内存不足

抱歉,如果问题有点抽象,但我无法理解这个问题。所有解决方案和调试建议都非常受欢迎。

最佳答案

我在 jboss 提供的 server.log 中找到了答案。日志显示,当测试开始失败时,此类:

org.hornetq.core.client

抛出

Throwable: java.lang.OutOfMemoryError: unable to create new native thread

因此可能会导致 OutOfMemoryError

javax.ejb.EJBTransactionRolledbackException: JBAS011469:
Transaction is required to perform this operation
(either use a transaction or extended persistence context)

关于java - javax.persistence.TransactionRequiredException 的可能原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21929258/

相关文章:

java - 应用程序服务器过度使用 CPU 的原因

java - 尝试在 JBoss EAP 6.3 上部署 spring ws + saaj webapp 时出现 ClassNotFoundException

java - 带有 MongoDb 的 log4j 和保存日志的最佳实践

database - JBoss 5.0.0.GA 数据源安全域和登录配置.xml

java - 如何在 JBoss 中热重载类

java - Java 中 XOR 编码的模糊 Gamma 生成

java - JBWEB003006 : Handshake failed: java. io.IOException : JBWEB002042: SSL handshake failed, SSL session 中的密码套件是 SSL_NULL_WITH_NULL_NULL

java - 在Java中获取键盘/鼠标输入

java - 控制Android Java线程

使用嵌套循环进行 Java 验证