1

当我运行我的 JBOSS 时,我收到如下事务超时错误。

SystemException The following problem occured: null; nested exception is:
        java.lang.IllegalStateException: [com.arjuna.ats.internal.jta.transaction.arjunacore.inactive] [com.arjuna.ats.internal.jta.transaction.a
rjunacore.inactive] The transaction is not active!; - nested throwable: (java.lang.IllegalStateException: [com.arjuna.ats.internal.jta.transactio
n.arjunacore.inactive] [com.arjuna.ats.internal.jta.transaction.arjunacore.inactive] The transaction is not active!): null; nested exception is:

        java.lang.IllegalStateException: [com.arjuna.ats.internal.jta.transaction.arjunacore.inactive] [com.arjuna.ats.internal.jta.transaction.a
rjunacore.inactive] The transaction is not active!; - nested throwable: (java.lang.IllegalStateException: [com.arjuna.ats.internal.jta.transactio
n.arjunacore.inactive] [com.arjuna.ats.internal.jta.transaction.arjunacore.inactive] The transaction is not active!): [com.arjuna.ats.internal.jt
a.transaction.arjunacore.inactive] [com.arjuna.ats.internal.jta.transaction.arjunacore.inactive] The transaction is not active! called at com.jco
ffee.base.global.ExceptionMapper.handleException(ExceptionMapper.java:240)

我用谷歌搜索了这个错误并遇到了一个解决方案,该解决方案涉及将事务超时从 300 更改为更高的值,我这样做了,

   <mbean code="com.arjuna.ats.jbossatx.jta.TransactionManagerService"
      name="jboss:service=TransactionManager">
      <attribute name="TransactionTimeout">3000</attribute>
      <attribute name="ObjectStoreDir">${jboss.server.data.dir}/tx-object-store</attribute> 
   </mbean>

但错误仍然存​​在。

我的堆大小如下:

-Xms2000m  
-Xmx2000m
-XX:PermSize=256M
-XX:MaxPermSize=256m

在错误发生之前,垃圾收集器会卸载大量的类,而 RAM 只剩下几 MB 的可用空间。我有大约 6GB 的 RAM + 3GB 的页面文件

任何帮助将不胜感激。

提前非常感谢。

4

1 回答 1

2

我已经看到达到事务超时时的异常,我认为增加超时应该可以解决问题。尝试将事务超时设置为UserTransaction对象,如此处所示。(使用 BMT 部分)

于 2013-11-05T15:31:40.850 回答