将 Jboss 5.1 迁移到 WildFly 8.2 时出现交易问题

Transaction issue while migrating Jboss 5.1 to WildFly 8.2

我正在将我的应用程序从 Jboss 5.1.0 升级到 Wild Fly 8.2。在启动服务器时,我们从数据库中获取数据并存储在应用程序范围内。这在 Jboss 5.1.0 中运行良好,但不适用于 WildFly 8.2。它显示以下警告。

15:04:38,152 WARN  [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffff0ab6a4f7:3057cd0:55c9c01b:8 in state  RUN
15:04:38,156 WARN  [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012095: Abort of action id 0:ffff0ab6a4f7:3057cd0:55c9c01b:8 invoked while multiple threads active within it.
15:04:38,157 WARN  [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012108: CheckedAction::check - atomic action 0:ffff0ab6a4f7:3057cd0:55c9c01b:8 aborting with 1 threads active!
15:04:38,158 WARN  [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012121: TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,main] successfully canceled TX 0:ffff0ab6a4f7:3057cd0:55c9c01b:8

我已经仔细检查过我的数据源配置是否正确。 作为迁移的一部分,我已将 Seam 2.2.0 升级到 2.3.1,将 EJB 3.0 升级到 EJB 3.1。我怀疑升级 Seam 和 EJB 可能存在问题。

我明白为什么我会收到上述交易,如果有人有解决上述问题的方法,请帮助我。

谢谢, 斯里纳斯

您的一项交易似乎超时了。我建议您可以做几件事。

  1. 在您的 standalone.xml 文件中将日志记录级别更改为 TRACE 以获取问题的更多详细信息。您需要将值更改为

    <logger category="com.arjuna">
       <level name="TRACE"/>
    </logger>
    
  2. 您可以将超时值增加到更高的值,默认值为 300。更改超时值

    • 登录到 JBoss 管理控制台(默认为 localhost:9990)
    • 转到配置 > 容器 > 超时
    • Default Timeout 值更改为更高的值。

您可以查看 this thread 寻求帮助。

确切的问题是我使用的是与 Seam 2.3.1 不兼容的 hibernate 3.6.3。迁移到 Hibernate 4.0.1 后,此问题已解决。