Почему предупреждение «TransactionReaper :: check timeout for TX» в JBoss server.log


Я использую Hibernate 3.6.0 с JBoss 6.0-Final выпуск, а моя база данных - MS-SQL Server 2008 . Мне нужно получить данные о сотрудниках с сервера LDAP и вставить их в базу данных - количество записей LDAP составляет 180 000 или больше. Я использую транзакцию, управляемую компонентом , потому что при использовании CMT моя транзакция никогда никогда не фиксируется (из-за большого количества вставок).

Логика такова: в while-loop Я продолжаю получать и создавать записи в базе данных с помощью JPA (Hibernate). Таким образом, я выполняю длинную серию операций fetch-create как часть API EJB без сохранения состояния. Я вызываю entityManager.flush () / clear () и завершаю транзакцию после обработки каждых 20 записей.

Я получаю следующее ПРЕДУПРЕЖДЕНИЕ сообщение в JBoss Serevr.log после того, как я вставил 40 000 записей. Не уверены, действительно ли это предупреждение или ошибка?
Хотя я получаю эту ошибку, сервер все еще работает и продолжает вставку новых записей в БД.

Кто-нибудь может предположить, что я делаю что-то не так? Или что вызывает эту ошибку?

Есть ли способ увеличить время ожидания 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

Мы будем очень благодарны за любую помощь.

12
задан javauser71 29 April 2011 в 03:32
поделиться