为什么要"TransactionReaper ::检查TX超时"? JBoss server.log中的警告 [英] Why "TransactionReaper::check timeout for TX" warning in JBoss server.log

查看:739
本文介绍了为什么要"TransactionReaper ::检查TX超时"? JBoss server.log中的警告的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我正在使用 Hibernate 3.6.0 JBoss 6.0-Final 版本,并且我的数据库是 MS-SQL Server 2008 . 我必须从LDAP服务器中获取员工数据并将其插入数据库-LDAP条目的数量为180,000或更多. 我使用 bean管理的交易,因为使用 CMT ,我的交易 从不 被落实(由于插入量很大)


I am using Hibernate 3.6.0 with JBoss 6.0-Final release and my Database is MS-SQL Server 2008. I have to fetch employee data from LDAP server and insert those into database - the count of LDAP entries are 180,000 or more. I am using bean managed transaction because using CMT my transaction never gets committed (because of high volumn of insert).

逻辑是:在while循环中,我继续获取&使用JPA(休眠)在数据库中创建条目.因此,作为无状态EJB api的一部分,我进行了大量的访存创建活动. 在处理每20 个记录之后,我调用了EntityManager.flush()/clear()和提交事务.

The logic is: in a while-loop I am keep on fetching & creating entries in database using JPA (Hibernate). Thus I am having a long series of fetch-create activities as part of a stateless EJB api. I am invoking entityManager.flush()/clear() and commiting transaction after processing every 20 records.

在我插入40,000条记录后,我正在关注JBoss Serevr.log中的 WARN消息. 不确定是警告还是错误?
虽然出现此错误,但服务器仍在运行,并继续在DB中插入新记录.

I am getting following WARN message in JBoss Serevr.log after I have inserted 40,000 records. Not sure if it is really an warning or error?
Though I get this error, the server still runs and continues with inserting new records in DB.

有人可以建议我做错了什么吗?还是导致此错误的原因?

Can anyone suggest if I am doing something wrong? Or what causes this error?

是否可以增加EJB超时?

16:52:49,690 WARN  [com.arjuna.ats.arjuna] ARJUNA-12117 TransactionReaper::check timeout for TX 0:ffff105966b8:126a:4db9fc0a:a4 in state  RUN
16:52:49,691 WARN  [com.arjuna.ats.arjuna] ARJUNA-12121 TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,jboss] successfully canceled TX 0:ffff105966b8:126a:4db9fc0a:a4

任何帮助将不胜感激.

推荐答案

This website summarizes a couple of more ways for changing the transaction timeout of jboss. For example, you can specify it in your standalone.xml configuration file as a subsystem like this:

<subsystem xmlns="urn:jboss:domain:transactions:3.0">
    <core-environment>
        <process-id><uuid/></process-id>
    </core-environment>
    <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
    <coordinator-environment default-timeout="<your timeout value here>"/>
</subsystem>

或者通过子系统-> transaction-> Time Out

Alternative adjust the transaction timeout prameter via the jboss admin platform under subsystems->transaction->Time Out

也许会有所帮助.

这篇关于为什么要"TransactionReaper ::检查TX超时"? JBoss server.log中的警告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆