Я использую Hibernate 3.6.0 с JBoss 6.0-Final и моей базой данных является MS-SQL Server 2008 .Я должен получить данные о сотрудниках с сервера LDAP и вставить их в базу данных - количество записей LDAP составляет 180 000 или более.Я использую управляемую компонентом транзакцию , потому что при использовании CMT моя транзакция никогда не фиксируется (из-за большого объема вставки).
Логика такова: в цикле while я продолжаю извлекать и создавать записи в базе данных, используя JPA (Hibernate).Таким образом, у меня есть длинный ряд действий по созданию извлечения как часть API EJB без состояния.Я вызываю entityManager.flush () / clear () и отправка транзакции после обработки каждые 20 записей.
Я получаю следующее WARN сообщение в JBoss Serevr.log после того, как я вставил 40000 записей.Не уверен, действительно ли это предупреждение или ошибка?Хотя я получаю эту ошибку, сервер все еще работает и продолжает вставлять новые записи в БД.
Кто-нибудь может подсказать, если я что-то делаю не так?Или что вызывает эту ошибку?
Есть ли способ увеличить время ожидания 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
Любая помощь будет высоко ценится.