Обновление с Glassfish 2 до Glassfish 3. Исключения больше не откатывают транзакции.

Я пытаюсь обновить свое ухо с Glassfish 2 до Glassfish 3. Раньше у нас были наши сеансовые компоненты и наши сущности в одном файле jar. Я узнал, что мне нужно поместить их в отдельные файлы jar, чтобы можно было развернуть на Glassfish 3. Как я сделал это, создав новую банку и переместив сеансовые компоненты, ejb-jar.xml, persistence.xml и sun-ejb-jar.xml в них. Библиотека сессионного компонента имеет старую библиотеку в качестве зависимости. Старая библиотека по-прежнему содержит пользовательские Exception классы, которые мы использовали, сущности и почти все остальное, что было раньше.

Но что я заметил из интеграционного теста, так это то, что когда выбрасываются исключения, транзакции не откатываются, как раньше. Сейчас я все еще развертываю GF2. Кроме этой тонкой проблемы, все, кажется, работает. Как решить эту проблему? Нужно ли мне перемещать эти Exception классы в банку сессионного компонента?

Вот пример того, как выглядит одно из этих исключений:

@ApplicationException(rollback=true)
public class MessageOutOfOrderException extends ConditionException { //this is the one that gets thrown
//...
}

@ApplicationException(rollback=true)
public class ConditionException extends Exception { //this is the parent.  It also gets thrown directly sometimes
//...
}

person Daniel Kaplan    schedule 06.03.2014    source источник


Ответы (1)