См. Эту ссылку: When does @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) commit?Когда @TransactionAttribute (TransactionAttributeType.REQUIRES_NEW) совершает? - Последующие меры
Как может быть правильным ответом? Я бы подумал, что метод, аннотированный REQUIRES_NEW, будет передан перед внешней, приостановленной транзакцией.
Я спрашиваю об этом, потому что я видел странное поведение, когда дело доходит до транзакций, начатых с require_new из другого компонента в цикле for. Например, если Aby называет bob в for-loop. Если одна из этих транзакций откатывается из-за того, что, например, UniqueConstraintViolation, HSQLDB и db2 периодически отбрасывают предыдущие транзакции, и с перерывами только транзакция завершилась неудачей, а остальные остальные. И поведение меняется только тогда, когда я перезапускаю свой jboss. Когда транзакция терпит неудачу, и я получаю поведение, когда предыдущая транзакция снова возвращается, я также получаю исключение jdbcException: соединение закрывается при следующем вызове из цикла. Итак, сначала я задаюсь вопросом о ожидаемом поведении require_new. Я использую Hibernate, jboss 5, CMT, db2 и встроенную память HSQLDB (я пробовал и версию 1.8, и 2.2.9) Спасибо!
возможно дубликат [Когда @TransactionAttribute (TransactionAttributeType.REQUIRES \ _new) совершить?] (Http://stackoverflow.com/questions/11614364/when-does-transactionattributetransactionattributetype-requires-new-commit) –
Хороший вопрос действительно , http://stackoverflow.com/questions/11614364/when-does-transactionattributetransactionattributetype-requires-new-commit похоже противоречит http://stackoverflow.com/questions/10817838/ejb-3-0-nested-transaction- требует нового – Gab