среда, 19 мая 2010 г.
Hibernate+Collections+N*Thread = ConcurrentModificationException
При сохранении ентитей, содержащих коллекции из нескольких трэдов, возможно ConcurrentModificationException. Вне зависимости от секций синхронизации(с.с.), присутствующих внутри транзакции( типа TransactionTemplate tt = new TransactionTemplate(entityManager.getTransactionManager());), итерации по колециям выполняются вне с.с. при сохранении в базу. Чтобы гарантировать отсутствие ConcurrentModificationException необходимо включить в секцию синхронизации всю транзакцию.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий