JBOSS - 事务处于非活动状态错误

时间:2013-10-31 11:11:25

标签: jboss transactions heap-size

当我运行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)

我用Google搜索了错误并遇到了一个解决方案,其中涉及将事务超时从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的页面文件

任何帮助都将非常感激。

提前多多感谢。

1 个答案:

答案 0 :(得分:1)

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